64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| #
 | |
| # Copyright (c) 2007 Eric Wong
 | |
| test_description='git-svn dcommit clobber series'
 | |
| . ./lib-git-svn.sh
 | |
| 
 | |
| test_expect_success 'initialize repo' "
 | |
| 	mkdir import &&
 | |
| 	cd import &&
 | |
| 	awk 'BEGIN { for (i = 1; i < 64; i++) { print i } }' > file
 | |
| 	svn import -m 'initial' . $svnrepo &&
 | |
| 	cd .. &&
 | |
| 	git svn init $svnrepo &&
 | |
| 	git svn fetch &&
 | |
| 	test -e file
 | |
| 	"
 | |
| 
 | |
| test_expect_success '(supposedly) non-conflicting change from SVN' "
 | |
| 	test x\"\`sed -n -e 58p < file\`\" = x58 &&
 | |
| 	test x\"\`sed -n -e 61p < file\`\" = x61 &&
 | |
| 	svn co $svnrepo tmp &&
 | |
| 	cd tmp &&
 | |
| 		perl -i -p -e 's/^58\$/5588/' file &&
 | |
| 		perl -i -p -e 's/^61\$/6611/' file &&
 | |
| 		poke file &&
 | |
| 		test x\"\`sed -n -e 58p < file\`\" = x5588 &&
 | |
| 		test x\"\`sed -n -e 61p < file\`\" = x6611 &&
 | |
| 		svn commit -m '58 => 5588, 61 => 6611' &&
 | |
| 		cd ..
 | |
| 	"
 | |
| 
 | |
| test_expect_success 'some unrelated changes to git' "
 | |
| 	echo hi > life &&
 | |
| 	git update-index --add life &&
 | |
| 	git commit -m hi-life &&
 | |
| 	echo bye >> life &&
 | |
| 	git commit -m bye-life life
 | |
| 	"
 | |
| 
 | |
| test_expect_success 'change file but in unrelated area' "
 | |
| 	test x\"\`sed -n -e 4p < file\`\" = x4 &&
 | |
| 	test x\"\`sed -n -e 7p < file\`\" = x7 &&
 | |
| 	perl -i -p -e 's/^4\$/4444/' file &&
 | |
| 	perl -i -p -e 's/^7\$/7777/' file &&
 | |
| 	test x\"\`sed -n -e 4p < file\`\" = x4444 &&
 | |
| 	test x\"\`sed -n -e 7p < file\`\" = x7777 &&
 | |
| 	git commit -m '4 => 4444, 7 => 7777' file &&
 | |
| 	git svn dcommit &&
 | |
| 	svn up tmp &&
 | |
| 	cd tmp &&
 | |
| 		test x\"\`sed -n -e 4p < file\`\" = x4444 &&
 | |
| 		test x\"\`sed -n -e 7p < file\`\" = x7777 &&
 | |
| 		test x\"\`sed -n -e 58p < file\`\" = x5588 &&
 | |
| 		test x\"\`sed -n -e 61p < file\`\" = x6611
 | |
| 	"
 | |
| 
 | |
| test_expect_success 'attempt to dcommit with a dirty index' '
 | |
| 	echo foo >>file &&
 | |
| 	git add file &&
 | |
| 	! git svn dcommit
 | |
| '
 | |
| 
 | |
| test_done
 |