52 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| test_description='fetching and pushing project with subproject'
 | |
| 
 | |
| . ./test-lib.sh
 | |
| 
 | |
| test_expect_success setup '
 | |
| 	test_tick &&
 | |
| 	mkdir -p sub && (
 | |
| 		cd sub &&
 | |
| 		git init &&
 | |
| 		>subfile &&
 | |
| 		git add subfile &&
 | |
| 		git commit -m "subproject commit #1"
 | |
| 	) &&
 | |
| 	>mainfile &&
 | |
| 	git add sub mainfile &&
 | |
| 	test_tick &&
 | |
| 	git commit -m "superproject commit #1"
 | |
| '
 | |
| 
 | |
| test_expect_success clone '
 | |
| 	git clone "file://$(pwd)/.git" cloned &&
 | |
| 	(git rev-parse HEAD && git ls-files -s) >expected &&
 | |
| 	(
 | |
| 		cd cloned &&
 | |
| 		(git rev-parse HEAD && git ls-files -s) >../actual
 | |
| 	) &&
 | |
| 	test_cmp expected actual
 | |
| '
 | |
| 
 | |
| test_expect_success advance '
 | |
| 	echo more >mainfile &&
 | |
| 	git update-index --force-remove sub &&
 | |
| 	mv sub/.git sub/.git-disabled &&
 | |
| 	git add sub/subfile mainfile &&
 | |
| 	mv sub/.git-disabled sub/.git &&
 | |
| 	test_tick &&
 | |
| 	git commit -m "superproject commit #2"
 | |
| '
 | |
| 
 | |
| test_expect_success fetch '
 | |
| 	(git rev-parse HEAD && git ls-files -s) >expected &&
 | |
| 	(
 | |
| 		cd cloned &&
 | |
| 		git pull &&
 | |
| 		(git rev-parse HEAD && git ls-files -s) >../actual
 | |
| 	) &&
 | |
| 	test_cmp expected actual
 | |
| '
 | |
| 
 | |
| test_done
 |