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>
This commit is contained in:
parent
2579e1d293
commit
90a6c7d443
@ -8,7 +8,7 @@ git-receive-pack - Receive what is pushed into the repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-receive-pack' <directory>
|
||||
'git-receive-pack' [--quiet] <directory>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -34,6 +34,9 @@ are not fast-forwards.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
--quiet::
|
||||
Print only error messages.
|
||||
|
||||
<directory>::
|
||||
The repository to sync into.
|
||||
|
||||
|
@ -8,7 +8,7 @@ git-send-pack - Push objects over git protocol to another repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
|
||||
'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--quiet] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -44,6 +44,9 @@ OPTIONS
|
||||
the remote repository can lose commits; use it with
|
||||
care.
|
||||
|
||||
--quiet::
|
||||
Print only error messages.
|
||||
|
||||
--verbose::
|
||||
Run verbosely.
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
|
@ -766,7 +766,9 @@ static int push_git(struct discovery *heads, int nr_spec, char **specs)
|
||||
argv[argc++] = "--thin";
|
||||
if (options.dry_run)
|
||||
argv[argc++] = "--dry-run";
|
||||
if (options.verbosity > 1)
|
||||
if (options.verbosity < 0)
|
||||
argv[argc++] = "--quiet";
|
||||
else if (options.verbosity > 1)
|
||||
argv[argc++] = "--verbose";
|
||||
argv[argc++] = url;
|
||||
for (i = 0; i < nr_spec; i++)
|
||||
|
10
transport.c
10
transport.c
@ -482,14 +482,18 @@ static int set_git_option(struct git_transport_options *opts,
|
||||
static int connect_setup(struct transport *transport, int for_push, int verbose)
|
||||
{
|
||||
struct git_transport_data *data = transport->data;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
|
||||
if (data->conn)
|
||||
return 0;
|
||||
|
||||
data->conn = git_connect(data->fd, transport->url,
|
||||
for_push ? data->options.receivepack :
|
||||
data->options.uploadpack,
|
||||
strbuf_addstr(&sb, for_push ? data->options.receivepack :
|
||||
data->options.uploadpack);
|
||||
if (for_push && transport->verbose < 0)
|
||||
strbuf_addstr(&sb, " --quiet");
|
||||
data->conn = git_connect(data->fd, transport->url, sb.buf,
|
||||
verbose ? CONNECT_VERBOSE : 0);
|
||||
strbuf_release(&sb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user