Re: [PATCH 12/12] receive-pack: send keepalives during quiet periods

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King <peff@xxxxxxxx> writes:

> diff --git a/builtin/index-pack.c b/builtin/index-pack.c
> index 1cba120..54f2cfb 100644
> --- a/builtin/index-pack.c
> +++ b/builtin/index-pack.c
> @@ -1626,6 +1626,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);
> @@ -1697,6 +1698,8 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
>  				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);
> @@ -1754,6 +1757,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);

I naively thought "well, if we are teaching index-pack a new trick
anyway, why not make it do the keepalive?", but that would not work
because a keepalive is a 0-byte payload on band#1, i.e. "0005\1",
and index-pack is not aware of the sideband framing at all.

So I agree that a-nul-in-fd#2 is the best mechansim we can make it
work.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]