All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Emily Shaffer" <emilyshaffer@google.com>,
	"Derrick Stolee" <stolee@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v3 4/5] index-pack: add --progress-title option
Date: Thu, 26 Aug 2021 16:05:50 +0200	[thread overview]
Message-ID: <patch-v3-4.5-e44d825e5df-20210826T140414Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-v3-0.5-00000000000-20210826T140414Z-avarab@gmail.com>

Add a --progress-title option to index-pack, when data is piped into
index-pack its progress is a proxy for whatever's feeding it data.

This option will allow us to set a more relevant progress bar title in
"git bundle unbundle", and is also used in my "bundle-uri" RFC
patches[1] by a new caller in fetch-pack.c.

The code change in cmd_index_pack() won't handle
"--progress-title=xyz", only "--progress-title xyz", and the "(i+1)"
style (as opposed to "i + 1") is a bit odd.

Not using the "--long-option=value" style is inconsistent with
existing long options handled by cmd_index_pack(), but makes the code
that needs to call it better (two strvec_push(), instead of needing a
strvec_pushf()).

Since the option is internal-only the inconsistency shouldn't
matter. I'm copying the pattern to handle it as-is from the handling
of the existing "-o" option in the same function, see 9cf6d3357aa (Add
git-index-pack utility, 2005-10-12) for its addition.

Eventually we'd like to migrate all of this this to parse_options(),
which would make these differences in behavior go away.

1. https://lore.kernel.org/git/RFC-cover-00.13-0000000000-20210805T150534Z-avarab@gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Documentation/git-index-pack.txt | 6 ++++++
 builtin/index-pack.c             | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
index 7fa74b9e798..1f1e3592251 100644
--- a/Documentation/git-index-pack.txt
+++ b/Documentation/git-index-pack.txt
@@ -82,6 +82,12 @@ OPTIONS
 --strict::
 	Die, if the pack contains broken objects or links.
 
+--progress-title::
+	For internal use only.
++
+Set the title of the progress bar. The title is "Receiving objects" by
+default and "Indexing objects" when `--stdin` is specified.
+
 --check-self-contained-and-connected::
 	Die if the pack contains broken links. For internal use only.
 
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 8336466865c..0841c039ae2 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -122,6 +122,7 @@ static int strict;
 static int do_fsck_object;
 static struct fsck_options fsck_options = FSCK_OPTIONS_MISSING_GITMODULES;
 static int verbose;
+static const char *progress_title;
 static int show_resolving_progress;
 static int show_stat;
 static int check_self_contained_and_connected;
@@ -1157,6 +1158,7 @@ static void parse_pack_objects(unsigned char *hash)
 
 	if (verbose)
 		progress = start_progress(
+				progress_title ? progress_title :
 				from_stdin ? _("Receiving objects") : _("Indexing objects"),
 				nr_objects);
 	for (i = 0; i < nr_objects; i++) {
@@ -1806,6 +1808,10 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
 				input_len = sizeof(*hdr);
 			} else if (!strcmp(arg, "-v")) {
 				verbose = 1;
+			} else if (!strcmp(arg, "--progress-title")) {
+				if (progress_title || (i+1) >= argc)
+					usage(index_pack_usage);
+				progress_title = argv[++i];
 			} else if (!strcmp(arg, "--show-resolving-progress")) {
 				show_resolving_progress = 1;
 			} else if (!strcmp(arg, "--report-end-of-input")) {
-- 
2.33.0.733.ga72a4f1c2e1


  parent reply	other threads:[~2021-08-26 14:06 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-27  0:41 [PATCH 0/4] bundle: show progress on "unbundle" Ævar Arnfjörð Bjarmason
2021-07-27  0:41 ` [PATCH 1/4] bundle API: start writing API documentation Ævar Arnfjörð Bjarmason
2021-07-27  0:41 ` [PATCH 2/4] bundle API: change "flags" to be "extra_index_pack_args" Ævar Arnfjörð Bjarmason
2021-07-27  0:41 ` [PATCH 3/4] index-pack: add --progress-title option Ævar Arnfjörð Bjarmason
2021-07-27  0:41 ` [PATCH 4/4] bundle: show progress on "unbundle" Ævar Arnfjörð Bjarmason
2021-08-23 11:02 ` [PATCH v2 0/4] " Ævar Arnfjörð Bjarmason
2021-08-23 11:02   ` [PATCH v2 1/4] bundle API: start writing API documentation Ævar Arnfjörð Bjarmason
2021-08-24 17:01     ` Derrick Stolee
2021-08-24 21:48       ` Ævar Arnfjörð Bjarmason
2021-08-23 11:02   ` [PATCH v2 2/4] bundle API: change "flags" to be "extra_index_pack_args" Ævar Arnfjörð Bjarmason
2021-08-24 17:09     ` Derrick Stolee
2021-08-24 21:41       ` Ævar Arnfjörð Bjarmason
2021-08-24 21:48         ` Derrick Stolee
2021-08-23 11:02   ` [PATCH v2 3/4] index-pack: add --progress-title option Ævar Arnfjörð Bjarmason
2021-08-24 17:18     ` Derrick Stolee
2021-08-24 21:40       ` Ævar Arnfjörð Bjarmason
2021-08-23 11:02   ` [PATCH v2 4/4] bundle: show progress on "unbundle" Ævar Arnfjörð Bjarmason
2021-08-24 17:23     ` Derrick Stolee
2021-08-24 21:39       ` Ævar Arnfjörð Bjarmason
2021-08-26 14:05 ` [PATCH v3 0/5] " Ævar Arnfjörð Bjarmason
2021-08-26 14:05   ` [PATCH v3 1/5] bundle API: start writing API documentation Ævar Arnfjörð Bjarmason
2021-08-26 14:05   ` [PATCH v3 2/5] strvec: add a strvec_pushvec() Ævar Arnfjörð Bjarmason
2021-08-28  1:23     ` Junio C Hamano
2021-08-28  1:29       ` Junio C Hamano
2021-08-28  4:12         ` Jeff King
2021-08-29 23:54           ` Junio C Hamano
2021-08-30 17:30             ` Derrick Stolee
2021-09-02 23:19           ` Ævar Arnfjörð Bjarmason
2021-09-03  5:05             ` Junio C Hamano
2021-09-03 11:06             ` Jeff King
2021-08-26 14:05   ` [PATCH v3 3/5] bundle API: change "flags" to be "extra_index_pack_args" Ævar Arnfjörð Bjarmason
2021-08-28  1:44     ` Junio C Hamano
2021-08-26 14:05   ` Ævar Arnfjörð Bjarmason [this message]
2021-08-28  1:50     ` [PATCH v3 4/5] index-pack: add --progress-title option Junio C Hamano
2021-08-26 14:05   ` [PATCH v3 5/5] bundle: show progress on "unbundle" Ævar Arnfjörð Bjarmason
2021-08-28  1:54     ` Junio C Hamano
2021-09-02 22:47       ` Ævar Arnfjörð Bjarmason
2021-09-05  7:34   ` [PATCH v4 0/4] " Ævar Arnfjörð Bjarmason
2021-09-05  7:34     ` [PATCH v4 1/4] bundle API: start writing API documentation Ævar Arnfjörð Bjarmason
2021-09-05  7:34     ` [PATCH v4 2/4] bundle API: change "flags" to be "extra_index_pack_args" Ævar Arnfjörð Bjarmason
2021-09-05  7:34     ` [PATCH v4 3/4] index-pack: add --progress-title option Ævar Arnfjörð Bjarmason
2021-09-05  7:34     ` [PATCH v4 4/4] bundle: show progress on "unbundle" Ævar Arnfjörð Bjarmason

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=patch-v3-4.5-e44d825e5df-20210826T140414Z-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=emilyshaffer@google.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=stolee@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.