From: Jeff King <peff@peff.net>
To: "Robin H. Johnson" <robbat2@gentoo.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v3 2/3] bundle-create: progress output control
Date: Sun, 10 Nov 2019 23:07:50 -0500 [thread overview]
Message-ID: <20191111040750.GB6379@sigill.intra.peff.net> (raw)
In-Reply-To: <20191110204126.30553-2-robbat2@gentoo.org>
On Sun, Nov 10, 2019 at 12:41:25PM -0800, Robin H. Johnson wrote:
> Support the progress output options from pack-objects in git-bundle's
> create subcommand. Most notably, this provides --quiet as requested on
> the git mailing list per [1]
>
> Reference: https://www.mail-archive.com/git@vger.kernel.org/msg182844.html <robbat2-20190806T191156-796782357Z@orbis-terrarum.net>
I'm glad you included the message-id here, since "182844" is useless if
mail-archive.com ever goes away. We usually just cite public-inbox for
that reason, since its URLs just use the message-id anyway:
https://public-inbox.org/git/robbat2-20190806T191156-796782357Z@orbis-terrarum.net
> +--progress::
> + Progress status is reported on the standard error stream
> + by default when it is attached to a terminal, unless -q
> + is specified. This flag forces progress status even if
> + the standard error stream is not directed to a terminal.
> +
> +--all-progress::
> + When --stdout is specified then progress report is
> + displayed during the object count and compression phases
> + but inhibited during the write-out phase. The reason is
> + that in some cases the output stream is directly linked
> + to another command which may wish to display progress
> + status of its own as it processes incoming pack data.
> + This flag is like --progress except that it forces progress
> + report for the write-out phase as well even if --stdout is
> + used.
> +
> +--all-progress-implied::
> + This is used to imply --all-progress whenever progress display
> + is activated. Unlike --all-progress this flag doesn't actually
> + force any progress display by itself.
> +
> +-q::
> +--quiet::
> + This flag makes the command not to report its progress
> + on the standard error stream.
Do we need all four of these?
Just saying "--no-progress" would do what you want right now. I could
understand the desire for a general "--quiet" flag that implies
"--no-progress", and shuts off any other non-progress chatter as well.
There isn't any now, but it could be a future proofing thing (plus
having a "-q" option is standard). But I think we should document it
that way from the outset (though I notice you probably just lifted this
from pack-objects, IMHO it should be more clear, too).
The "all-progress" thing doesn't seem useful at this level. pack-objects
needs it so that it can do the right thing when being driven by
upload-pack versus send-pack. But for a bundle, we're always writing to
a file. We'd always want "all-progress" (and that's what the current
code does).
Likewise, "all-progress-implied" is about setting the "all-progress" bit
but still letting pack-objects decide whether to show progress based on
isatty(2). I don't think we'd need that here at all (we check isatty
ourselves, and we'd always want all-progress).
So could we perhaps simplify this to:
1. Set show_progress to isatty(2).
2. Make --progress a parseopt bool, setting show_progress to 1 (or if
we see "--no-progress").
3. Pass "--no-progress" or "--all-progress" to pack-objects, based on
show_progress.
4. (Optional) Make "--quiet" a synonym for "--no-progress", with the
documentation that it may later encompass other messages.
-Peff
next prev parent reply other threads:[~2019-11-11 4:07 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1f7f0aa1e8fae54bf967ae83a160be2b30db634f.1573248640.git.gitgitgadget@gmail.com>
2019-11-10 20:41 ` [PATCH v3 1/3] bundle: framework for options before bundle file Robin H. Johnson
2019-11-10 20:41 ` [PATCH v3 2/3] bundle-create: progress output control Robin H. Johnson
2019-11-11 4:07 ` Jeff King [this message]
2019-11-11 7:28 ` Robin H. Johnson
2019-11-11 8:10 ` Jeff King
2019-11-11 9:01 ` Junio C Hamano
2019-11-10 20:41 ` [PATCH v3 3/3] bundle-verify: add --quiet Robin H. Johnson
2019-11-11 4:09 ` Jeff King
2019-11-11 2:34 ` [PATCH v3 1/3] bundle: framework for options before bundle file Junio C Hamano
2019-11-11 3:54 ` Jeff King
2019-11-11 8:46 ` Johannes Schindelin
2019-11-11 9:00 ` Junio C Hamano
2019-11-12 15:09 ` Johannes Schindelin
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=20191111040750.GB6379@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=robbat2@gentoo.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).