libgit2/tests/merge/trees
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
..
automerge.c merge tests: move expected data into own file 2015-11-25 15:38:22 -05:00
commits.c merge tests: move expected data into own file 2015-11-25 15:38:22 -05:00
modeconflict.c Rename tests-clar to tests 2013-11-14 14:05:52 -08:00
recursive.c merge: handle conflicts in recursive base building 2015-11-25 15:38:39 -05:00
renames.c Update git_merge_tree_opts to git_merge_options 2014-03-20 09:25:08 -07:00
treediff.c merge: rename git_merge_tree_flags_t -> git_merge_flags_t 2015-11-25 15:37:05 -05:00
trivial.c introduce git_index_entry_is_conflict 2015-05-28 09:47:31 -04:00
whitespace.c Collapse whitespace flags into git_merge_file_flags_t 2015-03-16 09:53:27 +02:00