Skip to content

Commit

Permalink
pack-redundant: rename pack_list.all_objects
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jiangxin authored and gitster committed Jan 14, 2019
1 parent e60b134 commit cb7e033
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions builtin/pack-redundant.c
Expand Up @@ -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;
Expand Down Expand Up @@ -339,8 +339,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;
Expand All @@ -350,7 +350,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;
Expand Down Expand Up @@ -394,7 +394,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;
}

Expand All @@ -412,20 +412,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;
}
Expand All @@ -440,7 +440,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);
Expand All @@ -451,7 +451,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;
}
}
Expand All @@ -477,10 +477,10 @@ static void scan_alt_odb_packs(void)
local = local_packs;
while (local) {
llist_sorted_difference_inplace(local->unique_objects,
alt->all_objects);
alt->remaining_objects);
local = local->next;
}
llist_sorted_difference_inplace(all_objects, alt->all_objects);
llist_sorted_difference_inplace(all_objects, alt->remaining_objects);
alt = alt->next;
}
}
Expand All @@ -495,7 +495,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;
Expand All @@ -504,11 +504,11 @@ 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;
}
/* this list will be pruned in cmp_two_packs later */
l.unique_objects = llist_copy(l.all_objects);
l.unique_objects = llist_copy(l.remaining_objects);
if (p->pack_local)
return pack_list_insert(&local_packs, &l);
else
Expand Down Expand Up @@ -604,7 +604,7 @@ int cmd_pack_redundant(int argc, const char **argv, const char *prefix)
pl = local_packs;
while (pl) {
llist_sorted_difference_inplace(pl->unique_objects, ignore);
llist_sorted_difference_inplace(pl->all_objects, ignore);
llist_sorted_difference_inplace(pl->remaining_objects, ignore);
pl = pl->next;
}

Expand Down

0 comments on commit cb7e033

Please sign in to comment.