merge-recursive: Restructure showing how to chain more process_* functions
In 3734893
(merge-recursive: Fix D/F conflicts 2010-07-09),
process_df_entry() was added to process_renames() and process_entry() but
in a somewhat restrictive manner. Modify the code slightly to make it
clearer how we could chain more such functions if necessary, and alter
process_df_entry() to handle such chaining.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
8a1c0d322e
commit
7edba4c45c
@ -1259,9 +1259,8 @@ static int process_df_entry(struct merge_options *o,
|
||||
const char *conf;
|
||||
struct stat st;
|
||||
|
||||
/* We currently only handle D->F cases */
|
||||
assert((!o_sha && a_sha && !b_sha) ||
|
||||
(!o_sha && !a_sha && b_sha));
|
||||
if (!((!o_sha && a_sha && !b_sha) || (!o_sha && !a_sha && b_sha)))
|
||||
return 1; /* we don't handle non D-F cases */
|
||||
|
||||
entry->processed = 1;
|
||||
|
||||
@ -1350,6 +1349,12 @@ int merge_trees(struct merge_options *o,
|
||||
&& !process_df_entry(o, path, e))
|
||||
clean = 0;
|
||||
}
|
||||
for (i = 0; i < entries->nr; i++) {
|
||||
struct stage_data *e = entries->items[i].util;
|
||||
if (!e->processed)
|
||||
die("Unprocessed path??? %s",
|
||||
entries->items[i].string);
|
||||
}
|
||||
|
||||
string_list_clear(re_merge, 0);
|
||||
string_list_clear(re_head, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user