libgit2如何在缓冲区中获取合并冲突预览?

时间:2019-05-26 08:44:35

标签: libgit2 git-merge-conflict git-bare

我想使用libgit2在裸仓库中预览冲突提交,这意味着没有工作目录。

已使用git_merge_commits git_index_has_conflictsgit_index_conflict_get这些功能来获取相关信息。

主要代码如下:

    git_index *index;
    int error = git_merge_commits(&index, repo, git_commit1, git_commit2, NULL);
    int conflict_count = git_index_has_conflicts(index);

    git_oid index_tree_oid, index_commit_oid;
    git_tree *index_tree;
    if(conflict_count == 0) {
        // do commit the index
    } else {
        // solve conflict
        const git_index_entry *ancestor = NULL,
                *ours = NULL,
                *theirs = NULL;
        error = git_index_conflict_get(
                &ancestor,
                &ours,
                &theirs,
                index,
                "file2");
        error_check(error);
        ...

如何在缓冲区中预览合并  包含这样的<<<< HEAD

aaaaaaaa  
bbbbbbbb22222222
<<<<<<< HEAD
bbbbbbbb11111111
bbbbbbbb11111111
======= 
bbbbbbbb22222222
>>>>>>> b3   
aaaaaaaa
aaaaaaaa
aaaaaaaa

当前,合并中只有一个文件会发生冲突。
谢谢

0 个答案:

没有答案