From: Junio C Hamano <gitster@pobox.com>
To: Larry D'Anna <larry@elder-gods.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/3] silence human readable info messages going to stderr from git push --porcelain
Date: Fri, 05 Feb 2010 12:20:16 -0800 [thread overview]
Message-ID: <7v1vgz5ta7.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: 1265398462-17316-2-git-send-email-larry@elder-gods.org
Larry D'Anna <larry@elder-gods.org> writes:
> These messages are redundant information to a script that's calling git-push.
Redundant is not a reason for a change; unwanted would be. And some of
the messages you are trying to squelch indeed look like unwanted ones, but
not all of them.
> - if (flags & TRANSPORT_PUSH_VERBOSE)
> + if (flags & TRANSPORT_PUSH_VERBOSE && !(flags & TRANSPORT_PUSH_PORCELAIN))
> fprintf(stderr, "Pushing to %s\n", transport->url);
Why should you be forbidden to expect "--porcelain -v" to give you this
message?
> @@ -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");
This probably is a good change; the long lines are unsightly but that is a
separate topic.
> diff --git a/transport.c b/transport.c
> index 3846aac..f707c7b 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -674,7 +674,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)
> + if (!count && !porcelain)
> fprintf(stderr, "To %s\n", dest);
I don't think this is correct.
If you have more than one remote.there.pushURL, the calling Porcelain
script of "git push --porcelain there" should be able to tell which
destination the following report is about, and without this line you
cannot tell.
I would understand if this change were to make the message go to the
standard output when operating with --porcelain option, though.
> @@ -1067,10 +1067,10 @@ int transport_push(struct transport *transport,
> if (!(flags & TRANSPORT_PUSH_DRY_RUN)) {
> struct ref *ref;
> for (ref = remote_refs; ref; ref = ref->next)
> - update_tracking_ref(transport->remote, ref, verbose);
> + update_tracking_ref(transport->remote, ref, verbose && !porcelain);
Again, why should you be forbidden to expect "--porcelain -v" to work?
> - if (!quiet && !ret && !refs_pushed(remote_refs))
> + if (!quiet && !porcelain && !ret && !refs_pushed(remote_refs))
> fprintf(stderr, "Everything up-to-date\n");
This is a borderline. If you are truly up-to-date, the calling script
won't get anything. It may be easier for Porcelain scripts to see this
message on the standard output as an explicit succeses report instead.
next prev parent reply other threads:[~2010-02-05 20:20 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-05 0:41 [PATCH] fix an error message in git-push so it goes to stderr Larry D'Anna
2010-02-05 15:06 ` Jeff King
2010-02-05 19:34 ` [PATCH 1/3] " Larry D'Anna
2010-02-05 19:34 ` [PATCH 2/3] silence human readable info messages going to stderr from git push --porcelain Larry D'Anna
2010-02-05 20:20 ` Junio C Hamano [this message]
2010-02-05 20:30 ` Larry D'Anna
2010-02-05 20:49 ` [PATCH v2 0/3] Larry D'Anna
2010-02-05 20:49 ` [PATCH v2 1/3] fix an error message in git-push so it goes to stderr Larry D'Anna
2010-02-05 20:49 ` [PATCH v2 2/3] clean up some of the output from git push --porcelain Larry D'Anna
2010-02-05 21:07 ` Junio C Hamano
2010-02-05 20:49 ` [PATCH v2 3/3] make git push --dry-run --porcelain exit with status 0 even if updates will be rejected Larry D'Anna
2010-02-05 23:50 ` Tay Ray Chuan
2010-02-08 20:19 ` Larry D'Anna
2010-02-08 20:31 ` [PATCH v3 1/3] git-push: fix an error message so it goes to stderr Larry D'Anna
2010-02-08 20:45 ` Junio C Hamano
2010-02-08 20:31 ` [PATCH v3 2/3] git-push: clean up some of the output from git push --porcelain Larry D'Anna
2010-02-08 20:51 ` Junio C Hamano
2010-02-08 21:13 ` Junio C Hamano
2010-02-08 21:32 ` Jeff King
2010-02-08 22:15 ` Larry D'Anna
2010-02-08 22:21 ` Junio C Hamano
2010-02-08 22:31 ` Larry D'Anna
2010-02-08 22:33 ` [PATCH] git-push: clean up some of the output from git push Larry D'Anna
2010-02-08 22:48 ` [PATCH v3 2/3] git-push: clean up some of the output from git push --porcelain Junio C Hamano
2010-02-08 23:10 ` Larry D'Anna
2010-02-08 23:11 ` Junio C Hamano
2010-02-08 23:44 ` [PATCH] git-push: fix the documentation to explain all the status flags Larry D'Anna
2010-02-09 0:23 ` Junio C Hamano
2010-02-09 0:30 ` Junio C Hamano
2010-02-09 0:45 ` Junio C Hamano
2010-02-09 0:56 ` Larry D'Anna
2010-02-09 1:00 ` Junio C Hamano
2010-02-09 0:54 ` Larry D'Anna
2010-02-09 4:54 ` [PATCH v3 2/3] git-push: clean up some of the output from git push --porcelain Larry D'Anna
2010-02-09 7:31 ` Junio C Hamano
2010-02-09 16:21 ` Larry D'Anna
2010-02-09 17:51 ` t5401-update-hooks test failure Shawn O. Pearce
2010-02-09 19:20 ` Nicolas Pitre
2010-02-09 19:26 ` Shawn O. Pearce
2010-02-09 22:44 ` Junio C Hamano
2010-02-09 23:16 ` Junio C Hamano
2010-02-10 1:29 ` Shawn O. Pearce
2010-02-09 5:48 ` [PATCH v3 2/3] git-push: clean up some of the output from git push --porcelain Larry D'Anna
2010-02-09 5:53 ` [PATCH 1/4] git-push: fix an error message so it goes to stderr Larry D'Anna
2010-02-09 5:54 ` [PATCH 2/4] git-push: squelch advice message if in --porcelain mode Larry D'Anna
2010-02-09 5:54 ` [PATCH 3/4] git-push: send "To <remoteurl>" messages to the standard output " Larry D'Anna
2010-02-11 22:54 ` Tay Ray Chuan
2010-02-11 23:19 ` Junio C Hamano
2010-02-09 5:54 ` [PATCH 4/4] git-push: make git push --dry-run --porcelain exit with status 0 even if updates will be rejected Larry D'Anna
2010-02-10 5:39 ` [PATCH v3 2/3] git-push: clean up some of the output from git push --porcelain Jeff King
2010-02-10 5:55 ` Larry D'Anna
2010-02-10 10:43 ` Tay Ray Chuan
2010-02-08 22:59 ` Junio C Hamano
2010-02-10 5:49 ` Jeff King
2010-02-11 23:23 ` Junio C Hamano
2010-02-12 0:03 ` Jeff King
2010-02-08 20:31 ` [PATCH v3 3/3] git-push: make git push --dry-run --porcelain exit with status 0 even if updates will be rejected Larry D'Anna
2010-02-08 20:59 ` Junio C Hamano
2010-02-08 21:49 ` Larry D'Anna
2010-02-09 22:25 ` Junio C Hamano
2010-02-10 4:13 ` Larry D'Anna
2010-02-10 4:51 ` [PATCH 4/4] " Larry D'Anna
2010-02-15 17:40 ` [PATCH v3 3/3] " Larry D'Anna
2010-02-15 20:42 ` Junio C Hamano
2010-02-05 19:34 ` [PATCH 3/3] " Larry D'Anna
2010-02-05 19:56 ` Jeff King
2010-02-05 20:05 ` Larry D'Anna
2010-02-05 20:13 ` Jeff King
2010-02-05 19:39 ` [PATCH] fix an error message in git-push so it goes to stderr Larry D'Anna
2010-02-05 19:48 ` Jeff King
2010-02-05 19:50 ` Larry D'Anna
2010-02-05 19:50 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7v1vgz5ta7.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=larry@elder-gods.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).