Skip to content

Commit 5fdddd9

Browse files
newrengitster
authored andcommitted
merge-recursive: add ability to turn off directory rename detection
Signed-off-by: Elijah Newren <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent e7588c9 commit 5fdddd9

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

merge-recursive.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2843,12 +2843,19 @@ static int handle_renames(struct merge_options *o,
28432843
head_pairs = get_diffpairs(o, common, head);
28442844
merge_pairs = get_diffpairs(o, common, merge);
28452845

2846-
dir_re_head = get_directory_renames(head_pairs, head);
2847-
dir_re_merge = get_directory_renames(merge_pairs, merge);
2846+
if (o->detect_directory_renames) {
2847+
dir_re_head = get_directory_renames(head_pairs, head);
2848+
dir_re_merge = get_directory_renames(merge_pairs, merge);
28482849

2849-
handle_directory_level_conflicts(o,
2850-
dir_re_head, head,
2851-
dir_re_merge, merge);
2850+
handle_directory_level_conflicts(o,
2851+
dir_re_head, head,
2852+
dir_re_merge, merge);
2853+
} else {
2854+
dir_re_head = xmalloc(sizeof(*dir_re_head));
2855+
dir_re_merge = xmalloc(sizeof(*dir_re_merge));
2856+
dir_rename_init(dir_re_head);
2857+
dir_rename_init(dir_re_merge);
2858+
}
28522859

28532860
ri->head_renames = get_renames(o, head_pairs,
28542861
dir_re_merge, dir_re_head, head,
@@ -3541,6 +3548,7 @@ void init_merge_options(struct merge_options *o)
35413548
o->renormalize = 0;
35423549
o->diff_detect_rename = -1;
35433550
o->merge_detect_rename = -1;
3551+
o->detect_directory_renames = 1;
35443552
merge_recursive_config(o);
35453553
merge_verbosity = getenv("GIT_MERGE_VERBOSITY");
35463554
if (merge_verbosity)

merge-recursive.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ struct merge_options {
1818
unsigned renormalize : 1;
1919
long xdl_opts;
2020
int verbosity;
21+
int detect_directory_renames;
2122
int diff_detect_rename;
2223
int merge_detect_rename;
2324
int diff_rename_limit;

0 commit comments

Comments
 (0)