Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
pack-redundant: rename pack_list.all_objects
author
Jiang Xin
<zhiyou.jx@alibaba-inc.com>
Sat, 2 Feb 2019 13:30:16 +0000
(21:30 +0800)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 4 Feb 2019 22:18:24 +0000
(14:18 -0800)
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>
builtin/pack-redundant.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
3084a01
)
diff --git
a/builtin/pack-redundant.c
b/builtin/pack-redundant.c
index d6d9a66e46cdc2a975153ad39ab79ae3214e937f..15cdf233c4e812c1ed803754f9bd063f6329b92a 100644
(file)
--- a/
builtin/pack-redundant.c
+++ b/
builtin/pack-redundant.c
@@
-32,7
+32,7
@@
static struct pack_list {
struct pack_list *next;
struct packed_git *pack;
struct llist *unique_objects;
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;
} *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)
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)
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;
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);
{
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;
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;
}
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;
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) {
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;
}
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) {
/* 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) {
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);
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);
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;
}
non_unique = non_unique->next;
}
@@
-445,7
+445,7
@@
static void load_all_objects(void)
while (pl) {
hint = NULL;
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);
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) {
/* 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;
}
}
pl = pl->next;
}
}
@@
-481,8
+481,8
@@
static void scan_alt_odb_packs(void)
while (alt) {
local = local_packs;
while (local) {
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;
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;
return NULL;
l.pack = p;
- llist_init(&l.
all
_objects);
+ llist_init(&l.
remaining
_objects);
if (open_pack_index(p))
return NULL;
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) {
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;
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(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;
}
pl = pl->next;
}