libgit2 как получить предварительный просмотр конфликта слияния в буфере? - PullRequest
1 голос
/ 26 мая 2019

Я хочу использовать libgit2, чтобы получить предварительный просмотр коммита конфликта в голом репо, что означает отсутствие рабочего каталога.

использует эти функции, git_merge_commits git_index_has_conflicts и git_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

В настоящее время объединение может содержать только один файл.
Спасибо

...