summaryrefslogtreecommitdiff
path: root/builtin/receive-pack.c
diff options
context:
space:
mode:
authorClemens Buchacher <drizzd@aon.at>2011-07-30 12:10:14 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-08-01 01:45:41 (GMT)
commit90a6c7d443058e8ad3eb36d21f4ede99addbca61 (patch)
tree73e53f9268460d8047e42c5cdd7a35a104b6ebe7 /builtin/receive-pack.c
parent2579e1d2936ad4e385ef21e5c346d9853d7faa01 (diff)
downloadgit-90a6c7d443058e8ad3eb36d21f4ede99addbca61.zip
git-90a6c7d443058e8ad3eb36d21f4ede99addbca61.tar.gz
git-90a6c7d443058e8ad3eb36d21f4ede99addbca61.tar.bz2
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/receive-pack.c')
-rw-r--r--builtin/receive-pack.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index e1a687a..fca26fb 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);