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>
This commit is contained in:
Paul Tan 2015-05-18 21:39:56 +08:00 committed by Junio C Hamano
parent 9a3d637541
commit 5061a44bcc
2 changed files with 19 additions and 2 deletions

View File

@ -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)

View File

@ -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