42 lines
		
	
	
	
		
			657 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			657 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
test_description='forced push to replace commit we do not have'
 | 
						|
 | 
						|
. ./test-lib.sh
 | 
						|
 | 
						|
test_expect_success setup '
 | 
						|
 | 
						|
	>file1 && git add file1 && test_tick &&
 | 
						|
	git commit -m Initial &&
 | 
						|
	git config receive.denyCurrentBranch warn &&
 | 
						|
 | 
						|
	mkdir another && (
 | 
						|
		cd another &&
 | 
						|
		git init &&
 | 
						|
		git fetch --update-head-ok .. master:master
 | 
						|
	) &&
 | 
						|
 | 
						|
	>file2 && git add file2 && test_tick &&
 | 
						|
	git commit -m Second
 | 
						|
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'non forced push should die not segfault' '
 | 
						|
 | 
						|
	(
 | 
						|
		cd another &&
 | 
						|
		test_must_fail git push .. master:master
 | 
						|
	)
 | 
						|
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'forced push should succeed' '
 | 
						|
 | 
						|
	(
 | 
						|
		cd another &&
 | 
						|
		git push .. +master:master
 | 
						|
	)
 | 
						|
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |