diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index 16e98f3f3f7303aaf613e4e17b317b2f6a975580..270bcbded68551d6992b039d48d019e4012a2ab9 100644 (file)
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
#include <sys/time.h>
#include <signal.h>
#include <sys/time.h>
#include <signal.h>
-static const char pack_usage[] = "git-pack-objects [-q] [--no-reuse-delta] [--non-empty] [--local] [--incremental] [--window=N] [--depth=N] [--revs [--unpacked | --all]*] [--stdout | base-name] <ref-list | <object-list]";
+static const char pack_usage[] = "git-pack-objects [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty] [--local] [--incremental] [--window=N] [--depth=N] [--all-progress] [--revs [--unpacked | --all]*] [--stdout | base-name] <ref-list | <object-list]";
struct object_entry {
unsigned char sha1[20];
struct object_entry {
unsigned char sha1[20];
unsigned long offset;
struct pack_header hdr;
unsigned last_percent = 999;
unsigned long offset;
struct pack_header hdr;
unsigned last_percent = 999;
- int do_progress = 0;
+ int do_progress = progress;
- if (!base_name)
+ if (!base_name) {
f = sha1fd(1, "<stdout>");
f = sha1fd(1, "<stdout>");
- else {
+ do_progress >>= 1;
+ }
+ else
f = sha1create("%s-%s.%s", base_name,
sha1_to_hex(object_list_sha1), "pack");
f = sha1create("%s-%s.%s", base_name,
sha1_to_hex(object_list_sha1), "pack");
- do_progress = progress;
- }
if (do_progress)
fprintf(stderr, "Writing %d objects.\n", nr_result);
if (do_progress)
fprintf(stderr, "Writing %d objects.\n", nr_result);
unuse_packed_git(p);
entry->in_pack_header_size = used;
unuse_packed_git(p);
entry->in_pack_header_size = used;
- if (base_entry && !base_entry->preferred_base) {
+ if (base_entry) {
/* Depth value does not matter - find_deltas()
* will never consider reused delta as the
/* Depth value does not matter - find_deltas()
* will never consider reused delta as the
progress = 1;
continue;
}
progress = 1;
continue;
}
+ if (!strcmp("--all-progress", arg)) {
+ progress = 2;
+ continue;
+ }
if (!strcmp("--incremental", arg)) {
incremental = 1;
continue;
if (!strcmp("--incremental", arg)) {
incremental = 1;
continue;
else {
if (nr_result)
prepare_pack(window, depth);
else {
if (nr_result)
prepare_pack(window, depth);
- if (progress && pack_to_stdout) {
+ if (progress == 1 && pack_to_stdout) {
/* the other end usually displays progress itself */
struct itimerval v = {{0,},};
setitimer(ITIMER_REAL, &v, NULL);
/* the other end usually displays progress itself */
struct itimerval v = {{0,},};
setitimer(ITIMER_REAL, &v, NULL);