diff options
author | Clemens Buchacher <drizzd@aon.at> | 2011-07-30 14:10:14 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-07-31 18:45:41 -0700 |
commit | 90a6c7d443058e8ad3eb36d21f4ede99addbca61 (patch) | |
tree | 73e53f9268460d8047e42c5cdd7a35a104b6ebe7 /builtin | |
parent | 2579e1d2936ad4e385ef21e5c346d9853d7faa01 (diff) | |
download | git-90a6c7d443058e8ad3eb36d21f4ede99addbca61.tar.gz git-90a6c7d443058e8ad3eb36d21f4ede99addbca61.tar.xz |
propagate --quiet to send-pack/receive-pack
Currently, git push --quiet produces some non-error output, e.g.:
$ git push --quiet
Unpacking objects: 100% (3/3), done.
Add the --quiet option to send-pack/receive-pack and pass it to
unpack-objects in the receive-pack codepath and to receive-pack in
the push codepath.
This fixes a bug reported for the fedora git package:
https://bugzilla.redhat.com/show_bug.cgi?id=725593
Reported-by: Jesse Keating <jkeating@redhat.com>
Cc: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/receive-pack.c | 12 | ||||
-rw-r--r-- | builtin/send-pack.c | 11 |
2 files changed, 20 insertions, 3 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index e1a687ad0..fca26fb5f 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -636,7 +636,7 @@ static const char *parse_pack_header(struct pack_header *hdr) static const char *pack_lockfile; -static const char *unpack(void) +static const char *unpack(int quiet) { struct pack_header hdr; const char *hdr_err; @@ -653,6 +653,8 @@ static const char *unpack(void) int code, i = 0; const char *unpacker[4]; unpacker[i++] = "unpack-objects"; + if (quiet) + unpacker[i++] = "-q"; if (receive_fsck_objects) unpacker[i++] = "--strict"; unpacker[i++] = hdr_arg; @@ -753,6 +755,7 @@ static void add_alternate_refs(void) int cmd_receive_pack(int argc, const char **argv, const char *prefix) { + int quiet = 0; int advertise_refs = 0; int stateless_rpc = 0; int i; @@ -766,6 +769,11 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix) const char *arg = *argv++; if (*arg == '-') { + if (!strcmp(arg, "--quiet")) { + quiet = 1; + continue; + } + if (!strcmp(arg, "--advertise-refs")) { advertise_refs = 1; continue; @@ -814,7 +822,7 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix) const char *unpack_status = NULL; if (!delete_only(commands)) - unpack_status = unpack(); + unpack_status = unpack(quiet); execute_commands(commands, unpack_status); if (pack_lockfile) unlink_or_warn(pack_lockfile); diff --git a/builtin/send-pack.c b/builtin/send-pack.c index c1f6ddd92..40a167599 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -439,6 +439,10 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) args.force_update = 1; continue; } + if (!strcmp(arg, "--quiet")) { + args.quiet = 1; + continue; + } if (!strcmp(arg, "--verbose")) { args.verbose = 1; continue; @@ -488,8 +492,13 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) fd[0] = 0; fd[1] = 1; } else { - conn = git_connect(fd, dest, receivepack, + struct strbuf sb = STRBUF_INIT; + strbuf_addstr(&sb, receivepack); + if (args.quiet) + strbuf_addstr(&sb, " --quiet"); + conn = git_connect(fd, dest, sb.buf, args.verbose ? CONNECT_VERBOSE : 0); + strbuf_release(&sb); } memset(&extra_have, 0, sizeof(extra_have)); |