diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-02-23 20:03:10 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-02-24 00:26:18 -0800 |
commit | b0e908977ebe43b49badad7fe34bf259dd5d263b (patch) | |
tree | 7b4e75862793dd292a7ad8323d3fa51be0bafb46 /upload-pack.c | |
parent | 83a5ad61268bbfea7e0d3180528366690f951554 (diff) | |
download | git-b0e908977ebe43b49badad7fe34bf259dd5d263b.tar.gz |
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>
Diffstat (limited to 'upload-pack.c')
-rw-r--r-- | upload-pack.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/upload-pack.c b/upload-pack.c index d1be07fb9e..d9907cac95 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -10,7 +10,7 @@ #include "revision.h" #include "list-objects.h" -static const char upload_pack_usage[] = "git-upload-pack [--strict] [--timeout=nn] [--no-progress] <dir>"; +static const char upload_pack_usage[] = "git-upload-pack [--strict] [--timeout=nn] <dir>"; /* bits #0..7 in revision.h, #8..10 in commit.c */ #define THEY_HAVE (1u << 11) @@ -547,6 +547,8 @@ static void receive_needs(void) use_sideband = LARGE_PACKET_MAX; else if (strstr(line+45, "side-band")) use_sideband = DEFAULT_PACKET_MAX; + if (strstr(line+45, "no-progress")) + no_progress = 1; /* We have sent all our refs already, and the other end * should have chosen out of them; otherwise they are @@ -615,7 +617,7 @@ static void receive_needs(void) static int send_ref(const char *refname, const unsigned char *sha1, int flag, void *cb_data) { static const char *capabilities = "multi_ack thin-pack side-band" - " side-band-64k ofs-delta shallow"; + " side-band-64k ofs-delta shallow no-progress"; struct object *o = parse_object(sha1); if (!o) @@ -670,10 +672,6 @@ int main(int argc, char **argv) timeout = atoi(arg+10); continue; } - if (!strcmp(arg, "--no-progress")) { - no_progress = 1; - continue; - } if (!strcmp(arg, "--")) { i++; break; |