git/t/t5524-pull-msg.sh
Paul Tan 5061a44bcc 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>
2015-05-18 11:19:36 -07:00

53 lines
945 B
Bash
Executable File

#!/bin/sh
test_description='git pull message generation'
. ./test-lib.sh
dollar='$Dollar'
test_expect_success setup '
test_commit initial afile original &&
git clone . cloned &&
(
cd cloned &&
echo added >bfile &&
git add bfile &&
test_tick &&
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"
'
test_expect_success pull '
(
cd cloned &&
git pull --log &&
git log -2 &&
git cat-file commit HEAD >result &&
grep Dollar result
)
'
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