Fix git push --quiet, thanks to Clemens Buchacher (#725593)
This commit is contained in:
parent
7e2e90daed
commit
69974bd168
201
0001-propagate-quiet-to-send-pack-receive-pack.patch
Normal file
201
0001-propagate-quiet-to-send-pack-receive-pack.patch
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
From c513fc653a2f88fd29e30ffcdd8aaf7741222cc7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Clemens Buchacher <drizzd@aon.at>
|
||||||
|
Date: Sat, 30 Jul 2011 10:35:24 -0400
|
||||||
|
Subject: [PATCH] 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>
|
||||||
|
---
|
||||||
|
Documentation/git-receive-pack.txt | 5 ++++-
|
||||||
|
Documentation/git-send-pack.txt | 5 ++++-
|
||||||
|
builtin/receive-pack.c | 12 ++++++++++--
|
||||||
|
builtin/send-pack.c | 11 ++++++++++-
|
||||||
|
remote-curl.c | 4 +++-
|
||||||
|
transport.c | 10 +++++++---
|
||||||
|
6 files changed, 38 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt
|
||||||
|
index f34e0ae..23f9a48 100644
|
||||||
|
--- 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
|
||||||
|
--------
|
||||||
|
-'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.
|
||||||
|
|
||||||
|
diff --git a/Documentation/git-send-pack.txt b/Documentation/git-send-pack.txt
|
||||||
|
index 17f8f55..67bcd0c 100644
|
||||||
|
--- 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
|
||||||
|
--------
|
||||||
|
-'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.
|
||||||
|
|
||||||
|
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);
|
||||||
|
diff --git a/builtin/send-pack.c b/builtin/send-pack.c
|
||||||
|
index c1f6ddd..40a1675 100644
|
||||||
|
--- 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;
|
||||||
|
}
|
||||||
|
+ 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));
|
||||||
|
diff --git a/remote-curl.c b/remote-curl.c
|
||||||
|
index b5be25c..1da0ff4 100644
|
||||||
|
--- a/remote-curl.c
|
||||||
|
+++ b/remote-curl.c
|
||||||
|
@@ -764,7 +764,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++)
|
||||||
|
diff --git a/transport.c b/transport.c
|
||||||
|
index c9c8056..98c5778 100644
|
||||||
|
--- 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;
|
||||||
|
+ 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;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.7.6.rc1
|
||||||
|
|
8
git.spec
8
git.spec
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
Name: git
|
Name: git
|
||||||
Version: 1.7.6
|
Version: 1.7.6
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Summary: Fast Version Control System
|
Summary: Fast Version Control System
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -87,6 +87,8 @@ Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
|
|||||||
Patch2: git-1.6-update-contrib-hooks-path.patch
|
Patch2: git-1.6-update-contrib-hooks-path.patch
|
||||||
# https://bugzilla.redhat.com/600411
|
# https://bugzilla.redhat.com/600411
|
||||||
Patch3: git-1.7-el5-emacs-support.patch
|
Patch3: git-1.7-el5-emacs-support.patch
|
||||||
|
# https://bugzilla.redhat.com/725593
|
||||||
|
Patch4: 0001-propagate-quiet-to-send-pack-receive-pack.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
@ -288,6 +290,7 @@ Requires: emacs-git = %{version}-%{release}
|
|||||||
%if %{emacs_old}
|
%if %{emacs_old}
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
# Use these same options for every invocation of 'make'.
|
# Use these same options for every invocation of 'make'.
|
||||||
# Otherwise it will rebuild in %%install due to flags changes.
|
# Otherwise it will rebuild in %%install due to flags changes.
|
||||||
@ -522,6 +525,9 @@ rm -rf %{buildroot}
|
|||||||
# No files for you!
|
# No files for you!
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Aug 05 2011 Todd Zullinger <tmz@pobox.com> - 1.7.6-5
|
||||||
|
- Fix git push --quiet, thanks to Clemens Buchacher (#725593)
|
||||||
|
|
||||||
* Tue Jul 26 2011 Todd Zullinger <tmz@pobox.com> - 1.7.6-4
|
* Tue Jul 26 2011 Todd Zullinger <tmz@pobox.com> - 1.7.6-4
|
||||||
- Drop git-arch on fedora >= 16, the tla package has been retired
|
- Drop git-arch on fedora >= 16, the tla package has been retired
|
||||||
- Rework most spec file dist conditionals to make future changes easier
|
- Rework most spec file dist conditionals to make future changes easier
|
||||||
|
Loading…
Reference in New Issue
Block a user