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