X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-prune-packed.c;h=23faf3129fb65ec5592c5021d661498143d4f608;hb=7ee906694c28ab7281492d5114d2afabd964bd41;hp=907e36828f61ee925adfe5eff111abb2fe3f0681;hpb=0e549137966feb016927a827fb6e359aec8264a3;p=git.git diff --git a/builtin-prune-packed.c b/builtin-prune-packed.c index 907e36828..23faf3129 100644 --- a/builtin-prune-packed.c +++ b/builtin-prune-packed.c @@ -8,16 +8,13 @@ static const char prune_packed_usage[] = #define DRY_RUN 01 #define VERBOSE 02 -static struct progress progress; +static struct progress *progress; static void prune_dir(int i, DIR *dir, char *pathname, int len, int opts) { struct dirent *de; char hex[40]; - if (opts == VERBOSE) - display_progress(&progress, i + 1); - sprintf(hex, "%02x", i); while ((de = readdir(dir)) != NULL) { unsigned char sha1[20]; @@ -33,6 +30,7 @@ static void prune_dir(int i, DIR *dir, char *pathname, int len, int opts) printf("rm -f %s\n", pathname); else if (unlink(pathname) < 0) error("unable to unlink %s", pathname); + display_progress(progress, i + 1); } pathname[len] = 0; rmdir(pathname); @@ -46,8 +44,7 @@ void prune_packed_objects(int opts) int len = strlen(dir); if (opts == VERBOSE) - start_progress_delay(&progress, - "Removing duplicate objects", + progress = start_progress_delay("Removing duplicate objects", 256, 95, 2); if (len > PATH_MAX - 42) @@ -65,8 +62,7 @@ void prune_packed_objects(int opts) prune_dir(i, d, pathname, len + 3, opts); closedir(d); } - if (opts == VERBOSE) - stop_progress(&progress); + stop_progress(&progress); } int cmd_prune_packed(int argc, const char **argv, const char *prefix)