Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
propagate --quiet to send-pack/receive-pack
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>
Documentation/git-receive-pack.txt
patch
|
blob
|
history
Documentation/git-send-pack.txt
patch
|
blob
|
history
builtin/receive-pack.c
patch
|
blob
|
history
builtin/send-pack.c
patch
|
blob
|
history
remote-curl.c
patch
|
blob
|
history
transport.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
2579e1d
)
diff --git
a/Documentation/git-receive-pack.txt
b/Documentation/git-receive-pack.txt
index f34e0ae1bd4bf9f3d0fa5de1e8b0eba47637f7a6..23f9a48dd495cd125d4278fc1de5666fe5ca8777 100644
(file)
--- a/
Documentation/git-receive-pack.txt
+++ b/
Documentation/git-receive-pack.txt
@@
-8,7
+8,7
@@
git-receive-pack - Receive what is pushed into the repository
SYNOPSIS
--------
SYNOPSIS
--------
-'git-receive-pack' <directory>
+'git-receive-pack'
[--quiet]
<directory>
DESCRIPTION
-----------
DESCRIPTION
-----------
@@
-34,6
+34,9
@@
are not fast-forwards.
OPTIONS
-------
OPTIONS
-------
+--quiet::
+ Print only error messages.
+
<directory>::
The repository to sync into.
<directory>::
The repository to sync into.
diff --git
a/Documentation/git-send-pack.txt
b/Documentation/git-send-pack.txt
index 17f8f5552646cc063fdcc3674c0b133ed070aec9..67bcd0c568832d7b81ba8f57e0d8e55135cec1d0 100644
(file)
--- a/
Documentation/git-send-pack.txt
+++ b/
Documentation/git-send-pack.txt
@@
-8,7
+8,7
@@
git-send-pack - Push objects over git protocol to another repository
SYNOPSIS
--------
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
-----------
DESCRIPTION
-----------
@@
-44,6
+44,9
@@
OPTIONS
the remote repository can lose commits; use it with
care.
the remote repository can lose commits; use it with
care.
+--quiet::
+ Print only error messages.
+
--verbose::
Run verbosely.
--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
@@
-636,7
+636,7
@@
static const char *parse_pack_header(struct pack_header *hdr)
static const char *pack_lockfile;
static const char *pack_lockfile;
-static const char *unpack(
void
)
+static const char *unpack(
int quiet
)
{
struct pack_header hdr;
const char *hdr_err;
{
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";
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;
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 cmd_receive_pack(int argc, const char **argv, const char *prefix)
{
+ int quiet = 0;
int advertise_refs = 0;
int stateless_rpc = 0;
int i;
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 == '-') {
const char *arg = *argv++;
if (*arg == '-') {
+ if (!strcmp(arg, "--quiet")) {
+ quiet = 1;
+ continue;
+ }
+
if (!strcmp(arg, "--advertise-refs")) {
advertise_refs = 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))
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);
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
@@
-439,6
+439,10
@@
int cmd_send_pack(int argc, const char **argv, const char *prefix)
args.force_update = 1;
continue;
}
args.force_update = 1;
continue;
}
+ if (!strcmp(arg, "--quiet")) {
+ args.quiet = 1;
+ continue;
+ }
if (!strcmp(arg, "--verbose")) {
args.verbose = 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 {
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);
args.verbose ? CONNECT_VERBOSE : 0);
+ strbuf_release(&sb);
}
memset(&extra_have, 0, sizeof(extra_have));
}
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
@@
-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";
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++)
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
@@
-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;
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;
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);
verbose ? CONNECT_VERBOSE : 0);
+ strbuf_release(&sb);
return 0;
}
return 0;
}