diff options
author | Edward Thomson <ethomson@microsoft.com> | 2015-01-05 11:34:17 -0600 |
---|---|---|
committer | Edward Thomson <ethomson@microsoft.com> | 2015-01-05 11:35:18 -0600 |
commit | 5e44d9bcb6d5b20922f49b1913723186f8ced8b5 (patch) | |
tree | 80ad8e044f5a0afef8caa844589b72c5bf765f63 | |
parent | c4a2fd5c1deda45afb569706827c2b490f705623 (diff) | |
download | libgit2-5e44d9bcb6d5b20922f49b1913723186f8ced8b5.tar.gz |
Better document `git_merge_commits`
`git_merge_commits` (and thus `git_merge`) do not use the same
strategy as `git-merge-recursive` wherein they can produce an
artificial common ancestor that is the merge of all common
ancestors. Document this accordingly.
-rw-r--r-- | include/git2/merge.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/git2/merge.h b/include/git2/merge.h index 09900f12b..40330d0d8 100644 --- a/include/git2/merge.h +++ b/include/git2/merge.h @@ -479,6 +479,10 @@ GIT_EXTERN(int) git_merge_trees( * or checked out. If the index is to be converted to a tree, the caller * should resolve any conflicts that arose as part of the merge. * + * The merge performed uses the first common ancestor, unlike the + * `git-merge-recursive` strategy, which may produce an artificial common + * ancestor tree when there are multiple ancestors. + * * The returned index must be freed explicitly with `git_index_free`. * * @param out pointer to store the index result in @@ -501,6 +505,10 @@ GIT_EXTERN(int) git_merge_commits( * to the index. Callers should inspect the repository's index after this * completes, resolve any conflicts and prepare a commit. * + * The merge performed uses the first common ancestor, unlike the + * `git-merge-recursive` strategy, which may produce an artificial common + * ancestor tree when there are multiple ancestors. + * * For compatibility with git, the repository is put into a merging * state. Once the commit is done (or if the uses wishes to abort), * you should clear this state by calling |