1#ifndef RERERE_H 2#define RERERE_H 3 4#include"string-list.h" 5 6struct pathspec; 7struct 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 */ 18externvoid*RERERE_RESOLVED; 19 20struct rerere_dir; 21struct rerere_id { 22struct rerere_dir *collection; 23int variant; 24}; 25 26intsetup_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 30intrepo_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 */ 37const char*rerere_path(const struct rerere_id *,const char*file); 38intrerere_forget(struct repository *,struct pathspec *); 39intrerere_remaining(struct repository *,struct string_list *); 40voidrerere_clear(struct repository *,struct string_list *); 41voidrerere_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