Merge branch 'jk/push-progress'
"git push" and "git clone" learned to give better progress meters to the end user who is waiting on the terminal. * jk/push-progress: receive-pack: send keepalives during quiet periods receive-pack: turn on connectivity progress receive-pack: relay connectivity errors to sideband receive-pack: turn on index-pack resolving progress index-pack: add flag for showing delta-resolution progress clone: use a real progress meter for connectivity check check_connected: add progress flag check_connected: relay errors to alternate descriptor check_everything_connected: use a struct with named options check_everything_connected: convert to argv_array rev-list: add optional progress reporting check_everything_connected: always pass --quiet to rev-list
This commit is contained in:
@ -77,6 +77,7 @@ static int strict;
|
||||
static int do_fsck_object;
|
||||
static struct fsck_options fsck_options = FSCK_OPTIONS_STRICT;
|
||||
static int verbose;
|
||||
static int show_resolving_progress;
|
||||
static int show_stat;
|
||||
static int check_self_contained_and_connected;
|
||||
|
||||
@ -1191,7 +1192,7 @@ static void resolve_deltas(void)
|
||||
qsort(ref_deltas, nr_ref_deltas, sizeof(struct ref_delta_entry),
|
||||
compare_ref_delta_entry);
|
||||
|
||||
if (verbose)
|
||||
if (verbose || show_resolving_progress)
|
||||
progress = start_progress(_("Resolving deltas"),
|
||||
nr_ref_deltas + nr_ofs_deltas);
|
||||
|
||||
@ -1626,6 +1627,7 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
|
||||
struct pack_idx_option opts;
|
||||
unsigned char pack_sha1[20];
|
||||
unsigned foreign_nr = 1; /* zero is a "good" value, assume bad */
|
||||
int report_end_of_input = 0;
|
||||
|
||||
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||
usage(index_pack_usage);
|
||||
@ -1695,6 +1697,10 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
|
||||
input_len = sizeof(*hdr);
|
||||
} else if (!strcmp(arg, "-v")) {
|
||||
verbose = 1;
|
||||
} else if (!strcmp(arg, "--show-resolving-progress")) {
|
||||
show_resolving_progress = 1;
|
||||
} else if (!strcmp(arg, "--report-end-of-input")) {
|
||||
report_end_of_input = 1;
|
||||
} else if (!strcmp(arg, "-o")) {
|
||||
if (index_name || (i+1) >= argc)
|
||||
usage(index_pack_usage);
|
||||
@ -1752,6 +1758,8 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
|
||||
obj_stat = xcalloc(st_add(nr_objects, 1), sizeof(struct object_stat));
|
||||
ofs_deltas = xcalloc(nr_objects, sizeof(struct ofs_delta_entry));
|
||||
parse_pack_objects(pack_sha1);
|
||||
if (report_end_of_input)
|
||||
write_in_full(2, "\0", 1);
|
||||
resolve_deltas();
|
||||
conclude_pack(fix_thin_pack, curr_pack, pack_sha1);
|
||||
free(ofs_deltas);
|
||||
|
Reference in New Issue
Block a user