summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2579e1d)
raw | patch | inline | side by side (parent: 2579e1d)
author | Clemens Buchacher <drizzd@aon.at> | |
Sat, 30 Jul 2011 12:10:14 +0000 (14:10 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 1 Aug 2011 01:45:41 +0000 (18:45 -0700) |
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>
$ 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>
index f34e0ae1bd4bf9f3d0fa5de1e8b0eba47637f7a6..23f9a48dd495cd125d4278fc1de5666fe5ca8777 100644 (file)
SYNOPSIS
--------
-'git-receive-pack' <directory>
+'git-receive-pack' [--quiet] <directory>
DESCRIPTION
-----------
OPTIONS
-------
+--quiet::
+ Print only error messages.
+
<directory>::
The repository to sync into.
index 17f8f5552646cc063fdcc3674c0b133ed070aec9..67bcd0c568832d7b81ba8f57e0d8e55135cec1d0 100644 (file)
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
-----------
the remote repository can lose commits; use it with
care.
+--quiet::
+ Print only error messages.
+
--verbose::
Run verbosely.
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index e1a687ad0761e46f6ec95659bb585b9014d4abf4..fca26fb5fbfb7c33f7a2c77b6301b501db5e9737 100644 (file)
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
static const char *pack_lockfile;
-static const char *unpack(void)
+static const char *unpack(int quiet)
{
struct pack_header hdr;
const char *hdr_err;
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;
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;
const char *arg = *argv++;
if (*arg == '-') {
+ if (!strcmp(arg, "--quiet")) {
+ quiet = 1;
+ continue;
+ }
+
if (!strcmp(arg, "--advertise-refs")) {
advertise_refs = 1;
continue;
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 c1f6ddd927d61fbc2558ee3624224af405d918c3..40a1675997cee19afb77b94bdd514fb5bc9a27bc 100644 (file)
--- a/builtin/send-pack.c
+++ b/builtin/send-pack.c
args.force_update = 1;
continue;
}
+ if (!strcmp(arg, "--quiet")) {
+ args.quiet = 1;
+ continue;
+ }
if (!strcmp(arg, "--verbose")) {
args.verbose = 1;
continue;
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));
diff --git a/remote-curl.c b/remote-curl.c
index 8ac5028343320b44b75c6945318fe5b328af81fd..0393ab92b6e1e3eb310a373ef1558c87dea1c504 100644 (file)
--- a/remote-curl.c
+++ b/remote-curl.c
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++)
diff --git a/transport.c b/transport.c
index c9c8056f9de69bd378cd271d70363b5560f13e07..98c577804f177b1c6f9df0e34e5fc3a656a81d27 100644 (file)
--- a/transport.c
+++ b/transport.c
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;
}