mirror of
https://github.com/git-for-windows/git.git
synced 2026-04-11 01:53:21 -05:00
repack: track the ODB source via existing_packs
Store the ODB source in the `existing_packs` struct and use that in place of the raw `repo->objects->sources` access within `cmd_repack()`. The source used is still assigned from the first source in the list, so there are no functional changes in this commit. The changes instead serve two purposes (one immediate, one not): - The incremental MIDX-based repacking machinery will need to know what source is being used to read the existing MIDX/chain (should one exist). - In the future, if "git repack" is taught how to operate on other object sources, this field will serve as the authoritative value for that source. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
15b52e8be4
commit
4bd6e030d8
@@ -402,7 +402,7 @@ int cmd_repack(int argc,
|
||||
* midx_has_unknown_packs() will make the decision for
|
||||
* us.
|
||||
*/
|
||||
if (!get_multi_pack_index(repo->objects->sources))
|
||||
if (!get_multi_pack_index(existing.source))
|
||||
midx_must_contain_cruft = 1;
|
||||
}
|
||||
|
||||
@@ -549,8 +549,7 @@ int cmd_repack(int argc,
|
||||
unsigned flags = 0;
|
||||
if (git_env_bool(GIT_TEST_MULTI_PACK_INDEX_WRITE_INCREMENTAL, 0))
|
||||
flags |= MIDX_WRITE_INCREMENTAL;
|
||||
write_midx_file(repo->objects->sources,
|
||||
NULL, NULL, flags);
|
||||
write_midx_file(existing.source, NULL, NULL, flags);
|
||||
}
|
||||
|
||||
cleanup:
|
||||
|
||||
2
repack.c
2
repack.c
@@ -154,6 +154,8 @@ void existing_packs_collect(struct existing_packs *existing,
|
||||
string_list_append(&existing->non_kept_packs, buf.buf);
|
||||
}
|
||||
|
||||
existing->source = existing->repo->objects->sources;
|
||||
|
||||
string_list_sort(&existing->kept_packs);
|
||||
string_list_sort(&existing->non_kept_packs);
|
||||
string_list_sort(&existing->cruft_packs);
|
||||
|
||||
Reference in New Issue
Block a user