mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
pack-redundant: rename pack_list.all_objects
New algorithm uses `pack_list.all_objects` to track remaining objects, so rename it to `pack_list.remaining_objects`. Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3084a01e5e
commit
4bc0cc12c1
1 changed files with 19 additions and 19 deletions
|
@ -32,7 +32,7 @@ static struct pack_list {
|
|||
struct pack_list *next;
|
||||
struct packed_git *pack;
|
||||
struct llist *unique_objects;
|
||||
struct llist *all_objects;
|
||||
struct llist *remaining_objects;
|
||||
} *local_packs = NULL, *altodb_packs = NULL;
|
||||
|
||||
static struct llist_item *free_nodes;
|
||||
|
@ -241,9 +241,9 @@ static void cmp_two_packs(struct pack_list *p1, struct pack_list *p2)
|
|||
const unsigned int hashsz = the_hash_algo->rawsz;
|
||||
|
||||
if (!p1->unique_objects)
|
||||
p1->unique_objects = llist_copy(p1->all_objects);
|
||||
p1->unique_objects = llist_copy(p1->remaining_objects);
|
||||
if (!p2->unique_objects)
|
||||
p2->unique_objects = llist_copy(p2->all_objects);
|
||||
p2->unique_objects = llist_copy(p2->remaining_objects);
|
||||
|
||||
p1_base = p1->pack->index_data;
|
||||
p2_base = p2->pack->index_data;
|
||||
|
@ -344,8 +344,8 @@ static int cmp_pack_list_reverse(const void *a, const void *b)
|
|||
{
|
||||
struct pack_list *pl_a = *((struct pack_list **)a);
|
||||
struct pack_list *pl_b = *((struct pack_list **)b);
|
||||
size_t sz_a = pl_a->all_objects->size;
|
||||
size_t sz_b = pl_b->all_objects->size;
|
||||
size_t sz_a = pl_a->remaining_objects->size;
|
||||
size_t sz_b = pl_b->remaining_objects->size;
|
||||
|
||||
if (sz_a == sz_b)
|
||||
return 0;
|
||||
|
@ -355,7 +355,7 @@ static int cmp_pack_list_reverse(const void *a, const void *b)
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* Sort pack_list, greater size of all_objects first */
|
||||
/* Sort pack_list, greater size of remaining_objects first */
|
||||
static void sort_pack_list(struct pack_list **pl)
|
||||
{
|
||||
struct pack_list **ary, *p;
|
||||
|
@ -399,7 +399,7 @@ static void minimize(struct pack_list **min)
|
|||
missing = llist_copy(all_objects);
|
||||
pl = unique;
|
||||
while (pl) {
|
||||
llist_sorted_difference_inplace(missing, pl->all_objects);
|
||||
llist_sorted_difference_inplace(missing, pl->remaining_objects);
|
||||
pl = pl->next;
|
||||
}
|
||||
|
||||
|
@ -417,20 +417,20 @@ static void minimize(struct pack_list **min)
|
|||
/* remove unique pack objects from the non_unique packs */
|
||||
pl = non_unique;
|
||||
while (pl) {
|
||||
llist_sorted_difference_inplace(pl->all_objects, unique_pack_objects);
|
||||
llist_sorted_difference_inplace(pl->remaining_objects, unique_pack_objects);
|
||||
pl = pl->next;
|
||||
}
|
||||
|
||||
while (non_unique) {
|
||||
/* sort the non_unique packs, greater size of all_objects first */
|
||||
/* sort the non_unique packs, greater size of remaining_objects first */
|
||||
sort_pack_list(&non_unique);
|
||||
if (non_unique->all_objects->size == 0)
|
||||
if (non_unique->remaining_objects->size == 0)
|
||||
break;
|
||||
|
||||
pack_list_insert(min, non_unique);
|
||||
|
||||
for (pl = non_unique->next; pl && pl->all_objects->size > 0; pl = pl->next)
|
||||
llist_sorted_difference_inplace(pl->all_objects, non_unique->all_objects);
|
||||
for (pl = non_unique->next; pl && pl->remaining_objects->size > 0; pl = pl->next)
|
||||
llist_sorted_difference_inplace(pl->remaining_objects, non_unique->remaining_objects);
|
||||
|
||||
non_unique = non_unique->next;
|
||||
}
|
||||
|
@ -445,7 +445,7 @@ static void load_all_objects(void)
|
|||
|
||||
while (pl) {
|
||||
hint = NULL;
|
||||
l = pl->all_objects->front;
|
||||
l = pl->remaining_objects->front;
|
||||
while (l) {
|
||||
hint = llist_insert_sorted_unique(all_objects,
|
||||
l->oid, hint);
|
||||
|
@ -456,7 +456,7 @@ static void load_all_objects(void)
|
|||
/* remove objects present in remote packs */
|
||||
pl = altodb_packs;
|
||||
while (pl) {
|
||||
llist_sorted_difference_inplace(all_objects, pl->all_objects);
|
||||
llist_sorted_difference_inplace(all_objects, pl->remaining_objects);
|
||||
pl = pl->next;
|
||||
}
|
||||
}
|
||||
|
@ -481,8 +481,8 @@ static void scan_alt_odb_packs(void)
|
|||
while (alt) {
|
||||
local = local_packs;
|
||||
while (local) {
|
||||
llist_sorted_difference_inplace(local->all_objects,
|
||||
alt->all_objects);
|
||||
llist_sorted_difference_inplace(local->remaining_objects,
|
||||
alt->remaining_objects);
|
||||
local = local->next;
|
||||
}
|
||||
alt = alt->next;
|
||||
|
@ -499,7 +499,7 @@ static struct pack_list * add_pack(struct packed_git *p)
|
|||
return NULL;
|
||||
|
||||
l.pack = p;
|
||||
llist_init(&l.all_objects);
|
||||
llist_init(&l.remaining_objects);
|
||||
|
||||
if (open_pack_index(p))
|
||||
return NULL;
|
||||
|
@ -508,7 +508,7 @@ static struct pack_list * add_pack(struct packed_git *p)
|
|||
base += 256 * 4 + ((p->index_version < 2) ? 4 : 8);
|
||||
step = the_hash_algo->rawsz + ((p->index_version < 2) ? 4 : 0);
|
||||
while (off < p->num_objects * step) {
|
||||
llist_insert_back(l.all_objects, (const struct object_id *)(base + off));
|
||||
llist_insert_back(l.remaining_objects, (const struct object_id *)(base + off));
|
||||
off += step;
|
||||
}
|
||||
l.unique_objects = NULL;
|
||||
|
@ -605,7 +605,7 @@ int cmd_pack_redundant(int argc, const char **argv, const char *prefix)
|
|||
llist_sorted_difference_inplace(all_objects, ignore);
|
||||
pl = local_packs;
|
||||
while (pl) {
|
||||
llist_sorted_difference_inplace(pl->all_objects, ignore);
|
||||
llist_sorted_difference_inplace(pl->remaining_objects, ignore);
|
||||
pl = pl->next;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue