Skip to content

Commit 55e6b35

Browse files
pcloudsgitster
authored andcommitted
rerere.c: remove the_repository references
Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 7c14112 commit 55e6b35

File tree

6 files changed

+26
-24
lines changed

6 files changed

+26
-24
lines changed

builtin/am.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2033,7 +2033,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem
20332033
static void am_rerere_clear(void)
20342034
{
20352035
struct string_list merge_rr = STRING_LIST_INIT_DUP;
2036-
rerere_clear(&merge_rr);
2036+
rerere_clear(the_repository, &merge_rr);
20372037
string_list_clear(&merge_rr, 1);
20382038
}
20392039

builtin/rebase--interactive.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ int cmd_rebase__interactive(int argc, const char **argv, const char *prefix)
233233
case SKIP: {
234234
struct string_list merge_rr = STRING_LIST_INIT_DUP;
235235

236-
rerere_clear(&merge_rr);
236+
rerere_clear(the_repository, &merge_rr);
237237
/* fallthrough */
238238
case CONTINUE:
239239
ret = sequencer_continue(the_repository, &opts);

builtin/rebase.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
997997

998998
options.action = "skip";
999999

1000-
rerere_clear(&merge_rr);
1000+
rerere_clear(the_repository, &merge_rr);
10011001
string_list_clear(&merge_rr, 1);
10021002

10031003
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)
10101010
struct string_list merge_rr = STRING_LIST_INIT_DUP;
10111011
options.action = "abort";
10121012

1013-
rerere_clear(&merge_rr);
1013+
rerere_clear(the_repository, &merge_rr);
10141014
string_list_clear(&merge_rr, 1);
10151015

10161016
if (read_basic_state(&options))

builtin/rerere.c

+6-4
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,12 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
8282
}
8383

8484
if (!strcmp(argv[0], "clear")) {
85-
rerere_clear(&merge_rr);
85+
rerere_clear(the_repository, &merge_rr);
8686
} else if (!strcmp(argv[0], "gc"))
87-
rerere_gc(&merge_rr);
87+
rerere_gc(the_repository, &merge_rr);
8888
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)
9091
return 0;
9192
for (i = 0; i < merge_rr.nr; i++)
9293
printf("%s\n", merge_rr.items[i].string);
@@ -101,7 +102,8 @@ int cmd_rerere(int argc, const char **argv, const char *prefix)
101102
merge_rr.items[i].util = NULL;
102103
}
103104
} 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)
105107
return 0;
106108
for (i = 0; i < merge_rr.nr; i++) {
107109
const char *path = merge_rr.items[i].string;

rerere.c

+13-13
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,10 @@ static struct rerere_id *new_rerere_id(unsigned char *sha1)
198198
* work on (i.e. what is left by the previous invocation of "git
199199
* rerere" during the current conflict resolution session).
200200
*/
201-
static void read_rr(struct string_list *rr)
201+
static void read_rr(struct repository *r, struct string_list *rr)
202202
{
203203
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");
205205

206206
if (!in)
207207
return;
@@ -593,7 +593,7 @@ int rerere_remaining(struct repository *r, struct string_list *merge_rr)
593593
{
594594
int i;
595595

596-
if (setup_rerere(merge_rr, RERERE_READONLY))
596+
if (setup_rerere(r, merge_rr, RERERE_READONLY))
597597
return 0;
598598
if (read_index(r->index) < 0)
599599
return error(_("index file corrupt"));
@@ -882,7 +882,7 @@ static int is_rerere_enabled(void)
882882
return 1;
883883
}
884884

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)
886886
{
887887
int fd;
888888

@@ -896,9 +896,9 @@ int setup_rerere(struct string_list *merge_rr, int flags)
896896
fd = 0;
897897
else
898898
fd = hold_lock_file_for_update(&write_lock,
899-
git_path_merge_rr(the_repository),
899+
git_path_merge_rr(r),
900900
LOCK_DIE_ON_ERROR);
901-
read_rr(merge_rr);
901+
read_rr(r, merge_rr);
902902
return fd;
903903
}
904904

@@ -912,7 +912,7 @@ int repo_rerere(struct repository *r, int flags)
912912
struct string_list merge_rr = STRING_LIST_INIT_DUP;
913913
int fd, status;
914914

915-
fd = setup_rerere(&merge_rr, flags);
915+
fd = setup_rerere(r, &merge_rr, flags);
916916
if (fd < 0)
917917
return 0;
918918
status = do_plain_rerere(r, &merge_rr, fd);
@@ -1110,7 +1110,7 @@ int rerere_forget(struct repository *r, struct pathspec *pathspec)
11101110
if (read_index(r->index) < 0)
11111111
return error(_("index file corrupt"));
11121112

1113-
fd = setup_rerere(&merge_rr, RERERE_NOAUTOUPDATE);
1113+
fd = setup_rerere(r, &merge_rr, RERERE_NOAUTOUPDATE);
11141114
if (fd < 0)
11151115
return 0;
11161116

@@ -1178,7 +1178,7 @@ static void prune_one(struct rerere_id *id,
11781178
unlink_rr_item(id);
11791179
}
11801180

1181-
void rerere_gc(struct string_list *rr)
1181+
void rerere_gc(struct repository *r, struct string_list *rr)
11821182
{
11831183
struct string_list to_remove = STRING_LIST_INIT_DUP;
11841184
DIR *dir;
@@ -1188,7 +1188,7 @@ void rerere_gc(struct string_list *rr)
11881188
timestamp_t cutoff_noresolve = now - 15 * 86400;
11891189
timestamp_t cutoff_resolve = now - 60 * 86400;
11901190

1191-
if (setup_rerere(rr, 0) < 0)
1191+
if (setup_rerere(r, rr, 0) < 0)
11921192
return;
11931193

11941194
git_config_get_expiry_in_days("gc.rerereresolved", &cutoff_resolve, now);
@@ -1236,11 +1236,11 @@ void rerere_gc(struct string_list *rr)
12361236
*
12371237
* NEEDSWORK: shouldn't we be calling this from "reset --hard"?
12381238
*/
1239-
void rerere_clear(struct string_list *merge_rr)
1239+
void rerere_clear(struct repository *r, struct string_list *merge_rr)
12401240
{
12411241
int i;
12421242

1243-
if (setup_rerere(merge_rr, 0) < 0)
1243+
if (setup_rerere(r, merge_rr, 0) < 0)
12441244
return;
12451245

12461246
for (i = 0; i < merge_rr->nr; i++) {
@@ -1250,6 +1250,6 @@ void rerere_clear(struct string_list *merge_rr)
12501250
rmdir(rerere_path(id, NULL));
12511251
}
12521252
}
1253-
unlink_or_warn(git_path_merge_rr(the_repository));
1253+
unlink_or_warn(git_path_merge_rr(r));
12541254
rollback_lock_file(&write_lock);
12551255
}

rerere.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ struct rerere_id {
2323
int variant;
2424
};
2525

26-
int setup_rerere(struct string_list *, int);
26+
int setup_rerere(struct repository *,struct string_list *, int);
2727
#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
2828
#define rerere(flags) repo_rerere(the_repository, flags)
2929
#endif
@@ -37,8 +37,8 @@ int repo_rerere(struct repository *, int);
3737
const char *rerere_path(const struct rerere_id *, const char *file);
3838
int rerere_forget(struct repository *, struct pathspec *);
3939
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 *);
4242

4343
#define OPT_RERERE_AUTOUPDATE(v) OPT_UYN(0, "rerere-autoupdate", (v), \
4444
N_("update the index with reused conflict resolution if possible"))

0 commit comments

Comments
 (0)