diff options
author | Paul Tan <pyokagan@gmail.com> | 2015-05-18 21:39:56 +0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-05-18 11:19:36 -0700 |
commit | 5061a44bcc7bfab0764b3854b8b2df69a93675ad (patch) | |
tree | acf2b22a7ceddad7345b2e2aeec2df4b1354b0f1 | |
parent | Git 2.3.8 (diff) | |
download | tgif-5061a44bcc7bfab0764b3854b8b2df69a93675ad.tar.xz |
pull: handle --log=<n>
Since efb779f (merge, pull: add '--(no-)log' command line option,
2008-04-06) git-pull supported the (--no-)log switch and would pass it
to git-merge.
96e9420 (merge: Make '--log' an integer option for number of shortlog
entries, 2010-09-08) implemented support for the --log=<n> switch, which
would explicitly set the number of shortlog entries. However, git-pull
does not recognize this option, and will instead pass it to git-fetch,
leading to "unknown option" errors.
Fix this by matching --log=* in addition to --log and --no-log.
Implement a test for this use case.
Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | git-pull.sh | 4 | ||||
-rwxr-xr-x | t/t5524-pull-msg.sh | 17 |
2 files changed, 19 insertions, 2 deletions
diff --git a/git-pull.sh b/git-pull.sh index 4d4fc77b05..13e9d37efa 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -81,8 +81,8 @@ do diffstat=--no-stat ;; --stat|--summary) diffstat=--stat ;; - --log|--no-log) - log_arg=$1 ;; + --log|--log=*|--no-log) + log_arg="$1" ;; --no-c|--no-co|--no-com|--no-comm|--no-commi|--no-commit) no_commit=--no-commit ;; --c|--co|--com|--comm|--commi|--commit) diff --git a/t/t5524-pull-msg.sh b/t/t5524-pull-msg.sh index 8cccecc2fc..c278adaa5a 100755 --- a/t/t5524-pull-msg.sh +++ b/t/t5524-pull-msg.sh @@ -17,6 +17,9 @@ test_expect_success setup ' git commit -m "add bfile" ) && test_tick && test_tick && + echo "second" >afile && + git add afile && + git commit -m "second commit" && echo "original $dollar" >afile && git add afile && git commit -m "do not clobber $dollar signs" @@ -32,4 +35,18 @@ test_expect_success pull ' ) ' +test_expect_success '--log=1 limits shortlog length' ' +( + cd cloned && + git reset --hard HEAD^ && + test "$(cat afile)" = original && + test "$(cat bfile)" = added && + git pull --log=1 && + git log -3 && + git cat-file commit HEAD >result && + grep Dollar result && + ! grep "second commit" result +) +' + test_done |