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.