Fixup no-progress for fetch & clone
The intent of the commit 'fetch & clone: do not output progress when not on a tty' was to make fetching and cloning less chatty when output was not redirected (such as in a cron job). However, there was a serious thinko in that commit. It assumed that the client _and_ the server got this update at the same time. But this is obviously not the case, and therefore upload-pack died on seeing the option "--no-progress". This patch fixes that issue by making it a protocol option. So, until your server is updated, you still see the progress, but once the server has this patch, it will be quiet. A minor issue was also fixed: when cloning, the checkout did not heed no_progress. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
83a5ad6126
commit
b0e908977e
10
fetch-pack.c
10
fetch-pack.c
@ -174,12 +174,13 @@ static int find_common(int fd[2], unsigned char *result_sha1,
|
||||
}
|
||||
|
||||
if (!fetching)
|
||||
packet_write(fd[1], "want %s%s%s%s%s%s\n",
|
||||
packet_write(fd[1], "want %s%s%s%s%s%s%s\n",
|
||||
sha1_to_hex(remote),
|
||||
(multi_ack ? " multi_ack" : ""),
|
||||
(use_sideband == 2 ? " side-band-64k" : ""),
|
||||
(use_sideband == 1 ? " side-band" : ""),
|
||||
(use_thin_pack ? " thin-pack" : ""),
|
||||
(no_progress ? " no-progress" : ""),
|
||||
" ofs-delta");
|
||||
else
|
||||
packet_write(fd[1], "want %s\n", sha1_to_hex(remote));
|
||||
@ -732,12 +733,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
if (!dest)
|
||||
usage(fetch_pack_usage);
|
||||
if (no_progress) {
|
||||
char buf[256];
|
||||
snprintf(buf, sizeof(buf), "%s --no-progress", uploadpack);
|
||||
pid = git_connect(fd, dest, buf);
|
||||
} else
|
||||
pid = git_connect(fd, dest, uploadpack);
|
||||
pid = git_connect(fd, dest, uploadpack);
|
||||
if (pid < 0)
|
||||
return 1;
|
||||
if (heads && nr_heads)
|
||||
|
Reference in New Issue
Block a user