diff options
| author | Stefan Beller <sbeller@google.com> | 2018-03-23 18:20:59 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2018-03-26 10:05:46 -0700 |
| commit | a80d72db2a73174b3f22142eb2014b33696fd795 (patch) | |
| tree | 1278f03e0783b80ab18a3cb5b680c4af3e1ef974 /builtin/fsck.c | |
| parent | 97501e933a6d4d5a8567dbbb44fa3b4bff2ea298 (diff) | |
| download | git-a80d72db2a73174b3f22142eb2014b33696fd795.tar.gz | |
object-store: move packed_git and packed_git_mru to object store
In a process with multiple repositories open, packfile accessors
should be associated to a single repository and not shared globally.
Move packed_git and packed_git_mru into the_repository and adjust
callers to reflect this.
[nd: while at there, wrap access to these two fields in get_packed_git()
and get_packed_git_mru(). This allows us to lazily initialize these
fields without caller doing that explicitly]
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/fsck.c')
| -rw-r--r-- | builtin/fsck.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/fsck.c b/builtin/fsck.c index c736a10a11..7707407275 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -732,7 +732,8 @@ int cmd_fsck(int argc, const char **argv, const char *prefix) prepare_packed_git(); if (show_progress) { - for (p = packed_git; p; p = p->next) { + for (p = get_packed_git(the_repository); p; + p = p->next) { if (open_pack_index(p)) continue; total += p->num_objects; @@ -740,7 +741,8 @@ int cmd_fsck(int argc, const char **argv, const char *prefix) progress = start_progress(_("Checking objects"), total); } - for (p = packed_git; p; p = p->next) { + for (p = get_packed_git(the_repository); p; + p = p->next) { /* verify gives error messages itself */ if (verify_pack(p, fsck_obj_buffer, progress, count)) |
