path: stop relying on the_repository
when reporting garbage
We access `the_repository` in `report_linked_checkout_garbage()` both directly and indirectly via `get_git_dir()`. Remove this dependency by instead passing a `struct repository` as parameter. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
169c979771
commit
78f2210b3c
@ -113,7 +113,7 @@ int cmd_count_objects(int argc, const char **argv, const char *prefix)
|
|||||||
usage_with_options(count_objects_usage, opts);
|
usage_with_options(count_objects_usage, opts);
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
report_garbage = real_report_garbage;
|
report_garbage = real_report_garbage;
|
||||||
report_linked_checkout_garbage();
|
report_linked_checkout_garbage(the_repository);
|
||||||
}
|
}
|
||||||
|
|
||||||
for_each_loose_file_in_objdir(get_object_directory(),
|
for_each_loose_file_in_objdir(get_object_directory(),
|
||||||
|
6
path.c
6
path.c
@ -365,15 +365,15 @@ static void update_common_dir(struct strbuf *buf, int git_dir_len,
|
|||||||
strbuf_addstr(buf, LOCK_SUFFIX);
|
strbuf_addstr(buf, LOCK_SUFFIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
void report_linked_checkout_garbage(void)
|
void report_linked_checkout_garbage(struct repository *r)
|
||||||
{
|
{
|
||||||
struct strbuf sb = STRBUF_INIT;
|
struct strbuf sb = STRBUF_INIT;
|
||||||
const struct common_dir *p;
|
const struct common_dir *p;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (!the_repository->different_commondir)
|
if (!r->different_commondir)
|
||||||
return;
|
return;
|
||||||
strbuf_addf(&sb, "%s/", get_git_dir());
|
strbuf_addf(&sb, "%s/", r->gitdir);
|
||||||
len = sb.len;
|
len = sb.len;
|
||||||
for (p = common_list; p->path; p++) {
|
for (p = common_list; p->path; p++) {
|
||||||
const char *path = p->path;
|
const char *path = p->path;
|
||||||
|
2
path.h
2
path.h
@ -158,7 +158,7 @@ int strbuf_git_path_submodule(struct strbuf *sb, const char *path,
|
|||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
__attribute__((format (printf, 3, 4)));
|
__attribute__((format (printf, 3, 4)));
|
||||||
|
|
||||||
void report_linked_checkout_garbage(void);
|
void report_linked_checkout_garbage(struct repository *r);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* You can define a static memoized git path like:
|
* You can define a static memoized git path like:
|
||||||
|
Reference in New Issue
Block a user