зеркало из https://github.com/microsoft/git.git
midx: add progress to expire_midx_packs
Add progress to expire_midx_packs. Progress is displayed when the MIDX_PROGRESS flag is set. Signed-off-by: William Baker <William.Baker@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
840cef0c70
Коммит
8dc18f8937
12
midx.c
12
midx.c
|
@ -1205,18 +1205,29 @@ int expire_midx_packs(struct repository *r, const char *object_dir, unsigned fla
|
||||||
uint32_t i, *count, result = 0;
|
uint32_t i, *count, result = 0;
|
||||||
struct string_list packs_to_drop = STRING_LIST_INIT_DUP;
|
struct string_list packs_to_drop = STRING_LIST_INIT_DUP;
|
||||||
struct multi_pack_index *m = load_multi_pack_index(object_dir, 1);
|
struct multi_pack_index *m = load_multi_pack_index(object_dir, 1);
|
||||||
|
struct progress *progress = NULL;
|
||||||
|
|
||||||
if (!m)
|
if (!m)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
count = xcalloc(m->num_packs, sizeof(uint32_t));
|
count = xcalloc(m->num_packs, sizeof(uint32_t));
|
||||||
|
|
||||||
|
if (flags & MIDX_PROGRESS)
|
||||||
|
progress = start_progress(_("Counting referenced objects"),
|
||||||
|
m->num_objects);
|
||||||
for (i = 0; i < m->num_objects; i++) {
|
for (i = 0; i < m->num_objects; i++) {
|
||||||
int pack_int_id = nth_midxed_pack_int_id(m, i);
|
int pack_int_id = nth_midxed_pack_int_id(m, i);
|
||||||
count[pack_int_id]++;
|
count[pack_int_id]++;
|
||||||
|
display_progress(progress, i + 1);
|
||||||
}
|
}
|
||||||
|
stop_progress(&progress);
|
||||||
|
|
||||||
|
if (flags & MIDX_PROGRESS)
|
||||||
|
progress = start_progress(_("Finding and deleting unreferenced packfiles"),
|
||||||
|
m->num_packs);
|
||||||
for (i = 0; i < m->num_packs; i++) {
|
for (i = 0; i < m->num_packs; i++) {
|
||||||
char *pack_name;
|
char *pack_name;
|
||||||
|
display_progress(progress, i + 1);
|
||||||
|
|
||||||
if (count[i])
|
if (count[i])
|
||||||
continue;
|
continue;
|
||||||
|
@ -1234,6 +1245,7 @@ int expire_midx_packs(struct repository *r, const char *object_dir, unsigned fla
|
||||||
unlink_pack_path(pack_name, 0);
|
unlink_pack_path(pack_name, 0);
|
||||||
free(pack_name);
|
free(pack_name);
|
||||||
}
|
}
|
||||||
|
stop_progress(&progress);
|
||||||
|
|
||||||
free(count);
|
free(count);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче