path: root/rerere.h
diff options
authorJunio C Hamano <>2015-10-05 19:30:04 (GMT)
committerJunio C Hamano <>2015-10-05 19:30:05 (GMT)
commitdc5400e11d4cbd41336a8b7b64f69b4e486ed049 (patch)
treeef58eb77100c6e299608eaaa42d0b396226e8c78 /rerere.h
parent9958dd8685a0a8b3d6ecdd07e35d8ecb22b304a7 (diff)
parent15ed07d532db743a2a397a38bacc1f20e54b2c80 (diff)
Merge branch 'jc/rerere'
Code clean-up and minor fixes. * jc/rerere: (21 commits) rerere: un-nest merge() further rerere: use "struct rerere_id" instead of "char *" for conflict ID rerere: call conflict-ids IDs rerere: further clarify do_rerere_one_path() rerere: further de-dent do_plain_rerere() rerere: refactor "replay" part of do_plain_rerere() rerere: explain the remainder rerere: explain "rerere forget" codepath rerere: explain the primary codepath rerere: explain MERGE_RR management helpers rerere: fix benign off-by-one non-bug and clarify code rerere: explain the rerere I/O abstraction rerere: do not leak mmfile[] for a path with multiple stage #1 entries rerere: stop looping unnecessarily rerere: drop want_sp parameter from is_cmarker() rerere: report autoupdated paths only after actually updating them rerere: write out each record of MERGE_RR in one go rerere: lift PATH_MAX limitation rerere: plug conflict ID leaks rerere: handle conflicts with multiple stage #1 entries ...
Diffstat (limited to 'rerere.h')
1 files changed, 11 insertions, 1 deletions
diff --git a/rerere.h b/rerere.h
index 407d599..1222e91 100644
--- a/rerere.h
+++ b/rerere.h
@@ -16,9 +16,19 @@ struct pathspec;
extern void *RERERE_RESOLVED;
+struct rerere_id {
+ char hex[41];
extern int setup_rerere(struct string_list *, int);
extern int rerere(int);
-extern const char *rerere_path(const char *hex, const char *file);
+ * Given the conflict ID and the name of a "file" used for replaying
+ * the recorded resolution (e.g. "preimage", "postimage"), return the
+ * path to that filesystem entity. With "file" specified with NULL,
+ * return the path to the directory that houses these files.
+ */
+extern const char *rerere_path(const struct rerere_id *, const char *file);
extern int rerere_forget(struct pathspec *);
extern int rerere_remaining(struct string_list *);
extern void rerere_clear(struct string_list *);