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

[PATCH] Fix git pull handling of the quiet option

From
Iustin Pop <iusty@k1024.org>
Date
Mar 9, 2008, 22:31 UTC
Message-ID
<20080309223111.GA16360@teal.hq.k1024.org>
In-Reply-To
<7v8x0ssfud.fsf@gitster.siamese.dyndns.org>

Although git pull has a documented quiet option, currently it doesn't handle this option at all, and this results in it terminating the handling of command line options when this particular option is met.

More exactly, it will cause the following invocation:
  git pull --quiet --no-commit
to fail with:
  error: unknown option `no-commit'
  usage: git-fetch [options] [<repository> <refspec>...]
because it will not look at anything after quiet (and no-commit and
other options should not be passed to git fetch).

This patch adds the handling of this option, and passes it correctly to both git fetch and git merge (and therefore needs to be applied on top of patched git merge).

The patch also adds a small test for making sure that the quiet option works.

Signed-off-by: Iustin Pop <iusty@k1024.org>
---
 This is an updated version which includes a small test for the quiet option.
 git-pull.sh     |    8 +++++---
 t/t5520-pull.sh |    8 ++++++++
 2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/git-pull.sh b/git-pull.sh
index 3ce32b5..2201ca0 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -16,7 +16,7 @@ cd_to_toplevel
 test -z "$(git ls-files -u)" ||
 	die "You are in the middle of a conflicted merge."
 
-strategy_args= no_summary= no_commit= squash= no_ff=
+strategy_args= no_summary= no_commit= squash= no_ff= quiet=
 curr_branch=$(git symbolic-ref -q HEAD)
 curr_branch_short=$(echo "$curr_branch" | sed "s|refs/heads/||")
 rebase=$(git config --bool branch.$curr_branch_short.rebase)
@@ -61,6 +61,8 @@ do
 	--no-r|--no-re|--no-reb|--no-reba|--no-rebas|--no-rebase)
 		rebase=false
 		;;
+	-q|--q|--qui|--quie|--quiet)
+		quiet=--quiet ;;
 	-h|--h|--he|--hel|--help)
 		usage
 		;;
@@ -116,7 +118,7 @@ test true = "$rebase" && {
 		"refs/remotes/$origin/$reflist" 2>/dev/null)"
 }
 orig_head=$(git rev-parse --verify HEAD 2>/dev/null)
-git-fetch --update-head-ok "$@" || exit 1
+git-fetch $quiet --update-head-ok "$@" || exit 1
 
 curr_head=$(git rev-parse --verify HEAD 2>/dev/null)
 if test "$curr_head" != "$orig_head"
@@ -177,4 +179,4 @@ test true = "$rebase" &&
 	exec git-rebase $strategy_args --onto $merge_head \
 	${oldremoteref:-$merge_head}
 exec git-merge $no_summary $no_commit $squash $no_ff $strategy_args \
-	"$merge_name" HEAD $merge_head
+	$quiet "$merge_name" HEAD $merge_head
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index 9484129..6e36c00 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -21,6 +21,14 @@ test_expect_success 'pulling into void' '
 	git pull ..
 '
 
+test_expect_success 'quiet pull' '
+	git pull --quiet .. &&
+	if test -n "`git pull --quiet ..`"; then
+		echo "[OOPS] quiet pull is not quiet"
+		false
+	fi
+'
+
 cd "$D"
 
 test_expect_success 'checking the results' '
-- 
1.5.4.3
Previous: Iustin Pop
Message 7 of 7 in “Improve git pull --quiet behaviour”
  1. Iustin PopMar 8, 2008
  2. 1/2 Add a quiet option to git mergeIustin Pop, Mar 8, 2008
  3. Add a quiet option to git mergeIustin Pop, Mar 9, 2008
  4. 2/2 Fix git pull handling of the quiet optionIustin Pop, Mar 8, 2008
  5. Junio C HamanoMar 9, 2008
  6. Iustin PopMar 9, 2008
  7. Fix git pull handling of the quiet optionIustin Pop, Mar 9, 2008

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.