KiCad PCB EDA Suite
Loading...
Searching...
No Matches
kigit_merge_blob_utils.h File Reference
#include <kicommon.h>
#include <git2.h>
#include <git2/sys/merge.h>
#include <string>

Go to the source code of this file.

Classes

struct  KIGIT::MERGE_BLOBS
 Decoded ancestor/ours/theirs blob contents for a 3-way merge driver. More...
 

Namespaces

namespace  KIGIT
 

Functions

std::string KIGIT::BlobToString (git_blob *aBlob)
 Copy a libgit2 blob's raw bytes into a std::string.
 
int KIGIT::WriteToGitBuf (git_buf *aBuf, const std::string &aContent)
 Allocate a libgit2-owned buffer big enough for aContent and copy the bytes plus a trailing NUL.
 
int KIGIT::LoadMergeBlobs (const git_merge_driver_source *aSource, MERGE_BLOBS &aBlobs)
 Look up the ancestor/ours/theirs blobs of a merge-driver source and decode them into aBlobs.
 
bool KIGIT::TryTrivialMerge (const MERGE_BLOBS &aBlobs, git_buf *aResult, int *aRc)
 Resolve the trivial 3-way cases (identical sides, or one side unchanged from the ancestor).
 
template<typename DRIVER>
int KIGIT::ApplyMergeDriver (const git_merge_driver_source *aSrc, const char **aPathOut, unsigned int *aModeOut, git_buf *aMergedOut)
 Shared libgit2 merge-driver apply callback shim.