summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorLibravatar Elijah Newren <newren@gmail.com>2018-11-07 20:40:27 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-11-08 14:23:53 +0900
commitbbafc9c44ae7109f636772350934b3c5d747da44 (patch)
tree6a0fa50543947df42adab3818ce62f90d136ac0a /contrib
parentmerge-recursive: fix rename/add conflict handling (diff)
downloadtgif-bbafc9c44ae7109f636772350934b3c5d747da44.tar.xz
merge-recursive: improve handling for rename/rename(2to1) conflicts
This makes the rename/rename(2to1) conflicts use the new handle_file_collision() function. Since that function was based originally on the rename/rename(2to1) handling code, the main differences here are in what was added. In particular: * Instead of storing files at collide_path~HEAD and collide_path~MERGE, the files are two-way merged and recorded at collide_path. * Instead of recording the version of the renamed file that existed on the renamed side in the index (thus ignoring any changes that were made to the file on the side of history without the rename), we do a three-way content merge on the renamed path, then store that at either stage 2 or stage 3. * Note that since the content merge for each rename may have conflicts, and then we have to merge the two renamed files, we can end up with nested conflict markers. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions