[PATCH v3 2/3] git-push: clean up some of the output from git push --porcelain
From: Larry D'Anna <hidden>
Date: 2016-06-15 22:48:12
Subsystem:
the rest · Maintainer:
Linus Torvalds
* don't emit long explanatory message about non-fast-forward updates. * send "To dest" lines to standard out so whoever is reading standard out knows which ref updates went to which remotes. * only send the "Everything up-to-date" line if verbose. Signed-off-by: Larry D'Anna <redacted> --- builtin-push.c | 2 +- transport.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/builtin-push.c b/builtin-push.c
index 0a27072..ff0b1c6 100644
--- a/builtin-push.c
+++ b/builtin-push.c@@ -123,7 +123,7 @@ static int push_with_options(struct transport *transport, int flags) if (!err) return 0; - if (nonfastforward && advice_push_nonfastforward) { + if (!(flags & TRANSPORT_PUSH_PORCELAIN) && nonfastforward && advice_push_nonfastforward) { fprintf(stderr, "To prevent you from losing history, non-fast-forward updates were rejected\n" "Merge the remote changes before pushing again. See the 'Note about\n" "fast-forwards' section of 'git push --help' for details.\n");
diff --git a/transport.c b/transport.c
index 3846aac..00d986c 100644
--- a/transport.c
+++ b/transport.c@@ -675,7 +675,7 @@ static void print_ok_ref_status(struct ref *ref, int porcelain) static int print_one_push_status(struct ref *ref, const char *dest, int count, int porcelain) { if (!count) - fprintf(stderr, "To %s\n", dest); + fprintf(porcelain ? stdout : stderr, "To %s\n", dest); switch(ref->status) { case REF_STATUS_NONE:
@@ -1070,7 +1070,7 @@ int transport_push(struct transport *transport, update_tracking_ref(transport->remote, ref, verbose); } - if (!quiet && !ret && !refs_pushed(remote_refs)) + if (!quiet && (!porcelain || verbose) && !ret && !refs_pushed(remote_refs)) fprintf(stderr, "Everything up-to-date\n"); return ret; }
--
1.7.0.rc1.33.g07cf0f.dirty