From: Avery Pennarun <apenwarr@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: [PATCH v2] checkout: no progress messages if !isatty(2).
Date: Thu, 24 May 2012 14:46:42 -0400 [thread overview]
Message-ID: <CAHqTa-3QUsW_AP67NWjc-Gu5FZ7xQZyOOM-=zea+vwZeT79=0A@mail.gmail.com> (raw)
In-Reply-To: <7vy5ohwhy7.fsf@alter.siamese.dyndns.org>
On Thu, May 24, 2012 at 2:29 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Avery Pennarun <apenwarr@gmail.com> writes:
>> It would probably be better to have progress.c check isatty(2) all the time,
>> but that wouldn't allow things like 'git push --progress' to force progress
>> reporting to on, so I won't try to solve the general case right now.
>
> Before that "It would probably be better" comment to give your opinion,
> you need to describe what problem you wanted to solve in the first place.
> I'll lift it from your original version of the patch:
>
> If stderr isn't a tty, we shouldn't be printing incremental progress
> messages. In particular, this affected 'git checkout -f . >&logfile'
> unless you provided -q. And git-new-workdir has no way to provide -q.
Do you want me to rephrase the commit message and resend?
> I do not seem to find a sane justification for
>
> git $cmd --progress 2>output
>
> use case and I do not immediately see how that "output" file can be
> useful. But we've allowed it for a long time, so probably this version is
> safer. Besides, it is more explicit.
Yeah, I have nothing against allowing --progress to work. If I were
to clarify my comment above, it would be to say that I'm worried about
how *many* places we keep calling isatty(). It is (as we can see from
the need for this patch) error prone, since I think most naive coders
would expect the progress stuff to act correctly by default if
!isatty(2).
So maybe the "right" fix is to add a flag to start_progress_delay() to
"force" verbose mode; if it's not set, start_progress_delay() would
check isatty(2) and decide automatically what to do. This wouldn't
save much code, but would make sure developers think about their
intentions.
Have fun,
Avery
next prev parent reply other threads:[~2012-05-24 18:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-24 5:18 [PATCH] progress: don't print if !isatty(2) Avery Pennarun
2012-05-24 5:45 ` Jeff King
2012-05-24 6:05 ` [PATCH] checkout: default to quiet " Avery Pennarun
2012-05-24 6:10 ` Jeff King
2012-05-24 6:12 ` [PATCH v2] checkout: no progress messages " Avery Pennarun
2012-05-24 18:29 ` Junio C Hamano
2012-05-24 18:34 ` Jeff King
2012-05-24 18:49 ` Avery Pennarun
2012-05-24 18:46 ` Avery Pennarun [this message]
2012-05-24 21:46 ` Junio C Hamano
2012-05-24 6:12 ` [PATCH] checkout: default to quiet " Avery Pennarun
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAHqTa-3QUsW_AP67NWjc-Gu5FZ7xQZyOOM-=zea+vwZeT79=0A@mail.gmail.com' \
--to=apenwarr@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).