]>
Commit | Line | Data |
---|---|---|
1 | #ifndef RERERE_H | |
2 | #define RERERE_H | |
3 | ||
4 | #include "string-list.h" | |
5 | ||
6 | struct pathspec; | |
7 | struct repository; | |
8 | ||
9 | #define RERERE_AUTOUPDATE 01 | |
10 | #define RERERE_NOAUTOUPDATE 02 | |
11 | #define RERERE_READONLY 04 | |
12 | ||
13 | /* | |
14 | * Marks paths that have been hand-resolved and added to the | |
15 | * index. Set in the util field of such paths after calling | |
16 | * rerere_remaining. | |
17 | */ | |
18 | extern void *RERERE_RESOLVED; | |
19 | ||
20 | struct rerere_dir; | |
21 | struct rerere_id { | |
22 | struct rerere_dir *collection; | |
23 | int variant; | |
24 | }; | |
25 | ||
26 | int setup_rerere(struct repository *,struct string_list *, int); | |
27 | #ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS | |
28 | #define rerere(flags) repo_rerere(the_repository, flags) | |
29 | #endif | |
30 | int repo_rerere(struct repository *, int); | |
31 | /* | |
32 | * Given the conflict ID and the name of a "file" used for replaying | |
33 | * the recorded resolution (e.g. "preimage", "postimage"), return the | |
34 | * path to that filesystem entity. With "file" specified with NULL, | |
35 | * return the path to the directory that houses these files. | |
36 | */ | |
37 | const char *rerere_path(const struct rerere_id *, const char *file); | |
38 | int rerere_forget(struct repository *, struct pathspec *); | |
39 | int rerere_remaining(struct repository *, struct string_list *); | |
40 | void rerere_clear(struct repository *, struct string_list *); | |
41 | void rerere_gc(struct repository *, struct string_list *); | |
42 | ||
43 | #define OPT_RERERE_AUTOUPDATE(v) OPT_UYN(0, "rerere-autoupdate", (v), \ | |
44 | N_("update the index with reused conflict resolution if possible")) | |
45 | ||
46 | #endif |