rerere: use "struct rerere_id" instead of "char *" for conflict ID

This gives a thin abstraction between the conflict ID that is a hash
value obtained by inspecting the conflicts and the name of the
directory under $GIT_DIR/rr-cache/, in which the previous resolution
is recorded to be replayed.  The plan is to make sure that the
presence of the directory does not imply the presense of a previous
resolution and vice-versa, and later allow us to have more than one
pair of <preimage, postimage> for a given conflict ID.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2015-07-04 17:38:34 -07:00
parent 18bb99342f
commit 1d51eced10
3 changed files with 85 additions and 28 deletions

View File

@@ -103,7 +103,7 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
} else if (!strcmp(argv[0], "diff"))
for (i = 0; i < merge_rr.nr; i++) {
const char *path = merge_rr.items[i].string;
const char *id = (const char *)merge_rr.items[i].util;
const struct rerere_id *id = merge_rr.items[i].util;
diff_two(rerere_path(id, "preimage"), path, path, path);
}
else