Skip to content

Commit ac193e0

Browse files
committed
Merge branch 'en/merge-path-collision'
Updates for corner cases in merge-recursive. * en/merge-path-collision: t6036: avoid non-portable "cp -a" merge-recursive: combine error handling t6036, t6043: increase code coverage for file collision handling merge-recursive: improve rename/rename(1to2)/add[/add] handling merge-recursive: use handle_file_collision for add/add conflicts merge-recursive: improve handling for rename/rename(2to1) conflicts merge-recursive: fix rename/add conflict handling merge-recursive: new function for better colliding conflict resolutions merge-recursive: increase marker length with depth of recursion t6036, t6042: testcases for rename collision of already conflicting files t6042: add tests for consistency in file collision conflict handling
2 parents 3813a89 + cc4cb09 commit ac193e0

File tree

6 files changed

+1149
-292
lines changed

6 files changed

+1149
-292
lines changed

ll-merge.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,9 @@ int ll_merge(mmbuffer_t *result_buf,
384384
if (opts->virtual_ancestor) {
385385
if (driver->recursive)
386386
driver = find_ll_merge_driver(driver->recursive);
387-
marker_size += 2;
387+
}
388+
if (opts->extra_marker_size) {
389+
marker_size += opts->extra_marker_size;
388390
}
389391
return driver->fn(driver, result_buf, path, ancestor, ancestor_label,
390392
ours, our_label, theirs, their_label,

ll-merge.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ struct ll_merge_options {
1313
unsigned virtual_ancestor : 1;
1414
unsigned variant : 2; /* favor ours, favor theirs, or union merge */
1515
unsigned renormalize : 1;
16+
unsigned extra_marker_size;
1617
long xdl_opts;
1718
};
1819

0 commit comments

Comments
 (0)