Fix a memory leak introduced in44c175c7a4(pull: error on no merge candidates, 2015-06-18). As a result we can mark several tests as passing with SANITIZE=leak using "TEST_PASSES_SANITIZE_LEAK=true". Removing the "int ret = 0" assignment added here ina6d7eb2c7a(pull: optionally rebase submodules (remote submodule changes only), 2017-06-23) is not a logic error, it could always have been left uninitialized (as "int ret"), now that we'll use the "ret" from the upper scope we can drop the assignment in the "opt_rebase" branch. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			54 lines
		
	
	
		
			1000 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1000 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
test_description='git pull message generation'
 | 
						|
 | 
						|
TEST_PASSES_SANITIZE_LEAK=true
 | 
						|
. ./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 --no-rebase --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 --no-rebase --log=1 &&
 | 
						|
	git log -3 &&
 | 
						|
	git cat-file commit HEAD >result &&
 | 
						|
	grep Dollar result &&
 | 
						|
	! grep "second commit" result
 | 
						|
)
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |