diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2019-06-10 16:35:24 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-06-11 10:34:40 -0700 |
commit | d01bf2e609bf792820023fc0f4ef5048bc689327 (patch) | |
tree | 6a669d3deca950a3bfe395a13e5e0103c78cfbd8 /commit-slab-impl.h | |
parent | midx: simplify computation of pack name lengths (diff) | |
download | tgif-d01bf2e609bf792820023fc0f4ef5048bc689327.tar.xz |
midx: refactor permutation logic and pack sorting
In anticipation of the expire subcommand, refactor the way we sort
the packfiles by name. This will greatly simplify our approach to
dropping expired packs from the list.
First, create 'struct pack_info' to replace 'struct pack_pair'.
This struct contains the necessary information about a pack,
including its name, a pointer to its packfile struct (if not
already in the multi-pack-index), and the original pack-int-id.
Second, track the pack information using an array of pack_info
structs in the pack_list struct. This simplifies the logic around
the multiple arrays we were tracking in that struct.
Finally, update get_sorted_entries() to not permute the pack-int-id
and instead supply the permutation to write_midx_object_offsets().
This requires sorting the packs after get_sorted_entries().
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit-slab-impl.h')
0 files changed, 0 insertions, 0 deletions