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@xxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html