зеркало из https://github.com/microsoft/git.git
merge-ort: collect which directories are removed in dirs_removed
Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
f5d9fbc2e9
Коммит
eb3e3e1ddf
27
merge-ort.c
27
merge-ort.c
|
@ -480,6 +480,27 @@ static void setup_path_info(struct merge_options *opt,
|
||||||
result->util = mi;
|
result->util = mi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void collect_rename_info(struct merge_options *opt,
|
||||||
|
struct name_entry *names,
|
||||||
|
const char *dirname,
|
||||||
|
const char *fullname,
|
||||||
|
unsigned filemask,
|
||||||
|
unsigned dirmask,
|
||||||
|
unsigned match_mask)
|
||||||
|
{
|
||||||
|
struct rename_info *renames = &opt->priv->renames;
|
||||||
|
|
||||||
|
/* Update dirs_removed, as needed */
|
||||||
|
if (dirmask == 1 || dirmask == 3 || dirmask == 5) {
|
||||||
|
/* absent_mask = 0x07 - dirmask; sides = absent_mask/2 */
|
||||||
|
unsigned sides = (0x07 - dirmask)/2;
|
||||||
|
if (sides & 1)
|
||||||
|
strset_add(&renames->dirs_removed[1], fullname);
|
||||||
|
if (sides & 2)
|
||||||
|
strset_add(&renames->dirs_removed[2], fullname);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int collect_merge_info_callback(int n,
|
static int collect_merge_info_callback(int n,
|
||||||
unsigned long mask,
|
unsigned long mask,
|
||||||
unsigned long dirmask,
|
unsigned long dirmask,
|
||||||
|
@ -580,6 +601,12 @@ static int collect_merge_info_callback(int n,
|
||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Gather additional information used in rename detection.
|
||||||
|
*/
|
||||||
|
collect_rename_info(opt, names, dirname, fullpath,
|
||||||
|
filemask, dirmask, match_mask);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Record information about the path so we can resolve later in
|
* Record information about the path so we can resolve later in
|
||||||
* process_entries.
|
* process_entries.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче