Sinceefb779f(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>
		
			
				
	
	
		
			53 lines
		
	
	
		
			945 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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
 |