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"))