rerere.c: remove the_repository references

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed Nov 10, 2018 at 06:49 UTC 55e6b3547d4a678e56e3aef16ad3a3c90351325a
6 files changed +26 -24
builtin/am.c
+1 -1
@@ -2033,7 +2033,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem
2033 static void am_rerere_clear(void)
2034 {
2035 struct string_list merge_rr = STRING_LIST_INIT_DUP;
2036 - rerere_clear(&merge_rr);
2036 + rerere_clear(the_repository, &merge_rr);
2037 string_list_clear(&merge_rr, 1);
2038 }
2039
builtin/rebase--interactive.c
+1 -1
@@ -233,7 +233,7 @@ int cmd_rebase__interactive(int argc, const char **argv, const char *prefix)
233 case SKIP: {
234 struct string_list merge_rr = STRING_LIST_INIT_DUP;
235
236 - rerere_clear(&merge_rr);
236 + rerere_clear(the_repository, &merge_rr);
237 /* fallthrough */
238 case CONTINUE:
239 ret = sequencer_continue(the_repository, &opts);
builtin/rebase.c
+2 -2
@@ -997,7 +997,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
997
998 options.action = "skip";
999
1000 - rerere_clear(&merge_rr);
1000 + rerere_clear(the_repository, &merge_rr);
1001 string_list_clear(&merge_rr, 1);
1002
1003 if (reset_head(NULL, "reset", NULL, 0, NULL, NULL) < 0)
@@ -1010,7 +1010,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
1010 struct string_list merge_rr = STRING_LIST_INIT_DUP;
1011 options.action = "abort";
1012
1013 - rerere_clear(&merge_rr);
1013 + rerere_clear(the_repository, &merge_rr);
1014 string_list_clear(&merge_rr, 1);
1015
1016 if (read_basic_state(&options))
builtin/rerere.c
+6 -4
@@ -82,11 +82,12 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
82 }
83
84 if (!strcmp(argv[0], "clear")) {
85 - rerere_clear(&merge_rr);
85 + rerere_clear(the_repository, &merge_rr);
86 } else if (!strcmp(argv[0], "gc"))
87 - rerere_gc(&merge_rr);
87 + rerere_gc(the_repository, &merge_rr);
88 else if (!strcmp(argv[0], "status")) {
89 - if (setup_rerere(&merge_rr, flags | RERERE_READONLY) < 0)
89 + if (setup_rerere(the_repository, &merge_rr,
90 + flags | RERERE_READONLY) < 0)
91 return 0;
92 for (i = 0; i < merge_rr.nr; i++)
93 printf("%s\n", merge_rr.items[i].string);
@@ -101,7 +102,8 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
102 merge_rr.items[i].util = NULL;
103 }
104 } else if (!strcmp(argv[0], "diff")) {
104 - if (setup_rerere(&merge_rr, flags | RERERE_READONLY) < 0)
105 + if (setup_rerere(the_repository, &merge_rr,
106 + flags | RERERE_READONLY) < 0)
107 return 0;
108 for (i = 0; i < merge_rr.nr; i++) {
109 const char *path = merge_rr.items[i].string;
rerere.c
+13 -13
@@ -198,10 +198,10 @@ static struct rerere_id *new_rerere_id(unsigned char *sha1)
198 * work on (i.e. what is left by the previous invocation of "git
199 * rerere" during the current conflict resolution session).
200 */
201 -static void read_rr(struct string_list *rr)
201 +static void read_rr(struct repository *r, struct string_list *rr)
202 {
203 struct strbuf buf = STRBUF_INIT;
204 - FILE *in = fopen_or_warn(git_path_merge_rr(the_repository), "r");
204 + FILE *in = fopen_or_warn(git_path_merge_rr(r), "r");
205
206 if (!in)
207 return;
@@ -593,7 +593,7 @@ int rerere_remaining(struct repository *r, struct string_list *merge_rr)
593 {
594 int i;
595
596 - if (setup_rerere(merge_rr, RERERE_READONLY))
596 + if (setup_rerere(r, merge_rr, RERERE_READONLY))
597 return 0;
598 if (read_index(r->index) < 0)
599 return error(_("index file corrupt"));
@@ -882,7 +882,7 @@ static int is_rerere_enabled(void)
882 return 1;
883 }
884
885 -int setup_rerere(struct string_list *merge_rr, int flags)
885 +int setup_rerere(struct repository *r, struct string_list *merge_rr, int flags)
886 {
887 int fd;
888
@@ -896,9 +896,9 @@ int setup_rerere(struct string_list *merge_rr, int flags)
896 fd = 0;
897 else
898 fd = hold_lock_file_for_update(&write_lock,
899 - git_path_merge_rr(the_repository),
899 + git_path_merge_rr(r),
900 LOCK_DIE_ON_ERROR);
901 - read_rr(merge_rr);
901 + read_rr(r, merge_rr);
902 return fd;
903 }
904
@@ -912,7 +912,7 @@ int repo_rerere(struct repository *r, int flags)
912 struct string_list merge_rr = STRING_LIST_INIT_DUP;
913 int fd, status;
914
915 - fd = setup_rerere(&merge_rr, flags);
915 + fd = setup_rerere(r, &merge_rr, flags);
916 if (fd < 0)
917 return 0;
918 status = do_plain_rerere(r, &merge_rr, fd);
@@ -1110,7 +1110,7 @@ int rerere_forget(struct repository *r, struct pathspec *pathspec)
1110 if (read_index(r->index) < 0)
1111 return error(_("index file corrupt"));
1112
1113 - fd = setup_rerere(&merge_rr, RERERE_NOAUTOUPDATE);
1113 + fd = setup_rerere(r, &merge_rr, RERERE_NOAUTOUPDATE);
1114 if (fd < 0)
1115 return 0;
1116
@@ -1178,7 +1178,7 @@ static void prune_one(struct rerere_id *id,
1178 unlink_rr_item(id);
1179 }
1180
1181 -void rerere_gc(struct string_list *rr)
1181 +void rerere_gc(struct repository *r, struct string_list *rr)
1182 {
1183 struct string_list to_remove = STRING_LIST_INIT_DUP;
1184 DIR *dir;
@@ -1188,7 +1188,7 @@ void rerere_gc(struct string_list *rr)
1188 timestamp_t cutoff_noresolve = now - 15 * 86400;
1189 timestamp_t cutoff_resolve = now - 60 * 86400;
1190
1191 - if (setup_rerere(rr, 0) < 0)
1191 + if (setup_rerere(r, rr, 0) < 0)
1192 return;
1193
1194 git_config_get_expiry_in_days("gc.rerereresolved", &cutoff_resolve, now);
@@ -1236,11 +1236,11 @@ void rerere_gc(struct string_list *rr)
1236 *
1237 * NEEDSWORK: shouldn't we be calling this from "reset --hard"?
1238 */
1239 -void rerere_clear(struct string_list *merge_rr)
1239 +void rerere_clear(struct repository *r, struct string_list *merge_rr)
1240 {
1241 int i;
1242
1243 - if (setup_rerere(merge_rr, 0) < 0)
1243 + if (setup_rerere(r, merge_rr, 0) < 0)
1244 return;
1245
1246 for (i = 0; i < merge_rr->nr; i++) {
@@ -1250,6 +1250,6 @@ void rerere_clear(struct string_list *merge_rr)
1250 rmdir(rerere_path(id, NULL));
1251 }
1252 }
1253 - unlink_or_warn(git_path_merge_rr(the_repository));
1253 + unlink_or_warn(git_path_merge_rr(r));
1254 rollback_lock_file(&write_lock);
1255 }
rerere.h
+3 -3
@@ -23,7 +23,7 @@ struct rerere_id {
23 int variant;
24 };
25
26 -int setup_rerere(struct string_list *, int);
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
@@ -37,8 +37,8 @@ int repo_rerere(struct repository *, int);
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 string_list *);
41 -void rerere_gc(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"))