libgit2/tests/merge/workdir
Edward Thomson 78859c6344 merge: handle conflicts in recursive base building
When building a recursive merge base, allow conflicts to occur.
Use the file (with conflict markers) as the common ancestor.

The user has already seen and dealt with this conflict by virtue
of having a criss-cross merge.  If they resolved this conflict
identically in both branches, then there will be no conflict in the
result.  This is the best case scenario.

If they did not resolve the conflict identically in the two branches,
then we will generate a new conflict.  If the user is simply using
standard conflict output then the results will be fairly sensible.
But if the user is using a mergetool or using diff3 output, then the
common ancestor will be a conflict file (itself with diff3 output,
haha!).  This is quite terrible, but it matches git's behavior.
2015-11-25 15:38:39 -05:00
..
analysis.c s/git_merge_head/git_annotated_commit 2014-10-26 22:59:48 -04:00
dirty.c cmake: Only provide USE_NSEC if struct stat members are avilable. 2015-09-18 23:33:56 -07:00
recursive.c merge: handle conflicts in recursive base building 2015-11-25 15:38:39 -05:00
renames.c merge: rename git_merge_tree_flags_t -> git_merge_flags_t 2015-11-25 15:37:05 -05:00
setup.c merge: lock the index at the start of the merge 2015-02-14 09:25:35 -05:00
simple.c merge tests: move expected data into own file 2015-11-25 15:38:22 -05:00
submodules.c reset: remove reflog message override 2015-03-03 14:40:50 +01:00
trivial.c introduce git_index_entry_is_conflict 2015-05-28 09:47:31 -04:00