diff options
Diffstat (limited to 'builtin/receive-pack.c')
-rw-r--r-- | builtin/receive-pack.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index e1a687ad07..fca26fb5fb 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); |