git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 4/4] clone: use --progress to force progress reporting

From
Tay Ray Chuan <rctay89@gmail.com>
Date
Dec 25, 2009, 17:12 UTC
Message-ID
<1261761126-5784-5-git-send-email-rctay89@gmail.com>
In-Reply-To
<1261761126-5784-4-git-send-email-rctay89@gmail.com>

Follow the argument convention of git-pack-objects, such that a separate option (--preogress) is used to force progress reporting instead of -v/--verbose.

-v/--verbose now does not force progress reporting. Make git-clone.txt say so.

This should cover all the bases in 21188b1 (Implement git clone -v), which implemented the option to force progress reporting.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---
 Documentation/git-clone.txt |    3 +++
 builtin-clone.c             |    8 ++++++--
 t/t5702-clone-options.sh    |    3 ++-
 3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index e722e6c..f43c8b2 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -102,6 +102,9 @@ objects from the source repository into a pack in the cloned repository.
 
 --verbose::
 -v::
+	Run verbosely.
+
+--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
diff --git a/builtin-clone.c b/builtin-clone.c
index 463fbe4..58bacbd 100644
--- a/builtin-clone.c
+++ b/builtin-clone.c
@@ -44,10 +44,13 @@ static char *option_origin = NULL;
 static char *option_branch = NULL;
 static char *option_upload_pack = "git-upload-pack";
 static int option_verbose;
+static int option_progress;
 
 static struct option builtin_clone_options[] = {
 	OPT__QUIET(&option_quiet),
 	OPT__VERBOSE(&option_verbose),
+	OPT_BOOLEAN(0, "progress", &option_progress,
+			"force progress reporting"),
 	OPT_BOOLEAN('n', "no-checkout", &option_no_checkout,
 		    "don't create a checkout"),
 	OPT_BOOLEAN(0, "bare", &option_bare, "create a bare repository"),
@@ -525,10 +528,11 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 
 		if (option_quiet)
 			transport->verbose = -1;
-		else if (option_verbose) {
+		else if (option_verbose)
 			transport->verbose = 1;
+
+		if (option_progress)
 			transport->progress = 1;
-		}
 
 		if (option_upload_pack)
 			transport_set_option(transport, TRANS_OPT_UPLOADPACK,
diff --git a/t/t5702-clone-options.sh b/t/t5702-clone-options.sh
index 27825f5..02cb024 100755
--- a/t/t5702-clone-options.sh
+++ b/t/t5702-clone-options.sh
@@ -27,7 +27,8 @@ test_expect_success 'redirected clone' '
 '
 test_expect_success 'redirected clone -v' '
 
-	git clone -v "file://$(pwd)/parent" clone-redirected-v >out 2>err &&
+	git clone --progress "file://$(pwd)/parent" clone-redirected-progress \
+		>out 2>err &&
 	test -s err
 
 '
-- 
1.6.6.278.g3f5f
Previous: Tay Ray ChuanNext: Miklos Vajna
Message 6 of 12 in “Add progress options”
  1. Add progress optionsBrent Goodrick, Feb 9, 2009
  2. 0/4 clone: use --progress to mean -vTay Ray Chuan, Dec 25, 2009
  3. 1/4 check stderr with isatty() instead of stdout when deciding to show progressTay Ray Chuan, Dec 25, 2009
  4. 2/4 git-clone.txt: reword description of progress behaviourTay Ray Chuan, Dec 25, 2009
  5. 3/4 clone: set transport->verbose when -v/--verbose is usedTay Ray Chuan, Dec 25, 2009
  6. 4/4 clone: use --progress to force progress reportingTay Ray Chuan, Dec 25, 2009
  7. Miklos VajnaDec 27, 2009
  8. Tay Ray ChuanDec 27, 2009
  9. Johannes SchindelinDec 26, 2009
  10. Tay Ray ChuanDec 27, 2009
  11. Junio C HamanoDec 29, 2009
  12. Tay Ray ChuanDec 29, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.