Commit 5e44d9bc by Edward Thomson

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.
parent c4a2fd5c
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment