Re: [PATCH] upload-pack: squelch progress indicator if client does not request sideband

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] upload-pack: squelch progress indicator if client does not request sideband

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:57

Johannes Sixt [off-list ref] writes:
Since the previous patch git-daemon monitors stderr of the service program,
such as upload-pack, and copies it to the syslog. This would now also copy
the progress indicator to the syslog. We avoid this by calling pack-objects
without --progress if there is no sideband channel to the client.
...
+
+	/*
+	 * If upload-pack is run from the daemon and the client did not
+	 * request a sideband, the progress output produced by pack-objects
+	 * would go to the syslog. Squelch it.
+	 */
+	if (!use_sideband)
+		no_progress = 1;
+
I think it is a very good idea to squelch progress output that will never
go to the client (it will be wasted traffic, regardless of the "syslog"
thing), but

 (1) Is "not using sideband" the same as "client won't see the progress
     output" for all vintages of clients that work with the current
     server?

     How did we drive upload-pack over native or ssh connection before we
     introduced sideband?  I vaguely recall that we relied on stderr going
     to the invoking terminal in the local case.  With this change, does
     the user suddenly stop seeing progress if the client is older than
     583b7ea (upload-pack/fetch-pack: support side-band communication,
     2006-06-21)?  If so, that would be a regression.

 (2) The change in _this_ patch may be a good thing independent from the
     change to the daemon, and I would hate to see it justified in terms
     of that other change.  This comment applies to the proposed commit
     log message as well.

Re: [PATCH] upload-pack: squelch progress indicator if client does not request sideband

From: Nicolas Pitre <hidden>
Date: 2016-06-15 22:46:57

On Mon, 15 Jun 2009, Junio C Hamano wrote:
I think it is a very good idea to squelch progress output that will never
go to the client (it will be wasted traffic, regardless of the "syslog"
thing), but

 (1) Is "not using sideband" the same as "client won't see the progress
     output" for all vintages of clients that work with the current
     server?

     How did we drive upload-pack over native or ssh connection before we
     introduced sideband?  I vaguely recall that we relied on stderr going
     to the invoking terminal in the local case.  With this change, does
     the user suddenly stop seeing progress if the client is older than
     583b7ea (upload-pack/fetch-pack: support side-band communication,
     2006-06-21)?  If so, that would be a regression.
Native, or git:// style, certainly never was able to get any kind of 
progress display without sideband support.

As to old clients using ssh... well... that could be a regression.  But 
do we really care?  This is pre v1.4.1 after all, and even the previous 
Debian stable was using a later git version.


Nicolas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help