45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Copyright (c) 2006 Eric Wong
 | 
						|
test_description='git svn commit-diff'
 | 
						|
. ./lib-git-svn.sh
 | 
						|
 | 
						|
test_expect_success 'initialize repo' '
 | 
						|
	mkdir import &&
 | 
						|
	(
 | 
						|
		cd import &&
 | 
						|
		echo hello >readme &&
 | 
						|
		svn_cmd import -m "initial" . "$svnrepo"
 | 
						|
	) &&
 | 
						|
	echo hello > readme &&
 | 
						|
	git update-index --add readme &&
 | 
						|
	git commit -a -m "initial" &&
 | 
						|
	echo world >> readme &&
 | 
						|
	git commit -a -m "another"
 | 
						|
	'
 | 
						|
 | 
						|
head=$(git rev-parse --verify HEAD^0)
 | 
						|
prev=$(git rev-parse --verify HEAD^1)
 | 
						|
 | 
						|
# the internals of the commit-diff command are the same as the regular
 | 
						|
# commit, so only a basic test of functionality is needed since we've
 | 
						|
# already tested commit extensively elsewhere
 | 
						|
 | 
						|
test_expect_success 'test the commit-diff command' '
 | 
						|
	test -n "$prev" && test -n "$head" &&
 | 
						|
	git svn commit-diff -r1 "$prev" "$head" "$svnrepo" &&
 | 
						|
	svn_cmd co "$svnrepo" wc &&
 | 
						|
	cmp readme wc/readme
 | 
						|
	'
 | 
						|
 | 
						|
test_expect_success 'commit-diff to a sub-directory (with git svn config)' '
 | 
						|
	svn_cmd import -m "sub-directory" import "$svnrepo"/subdir &&
 | 
						|
	git svn init --minimize-url "$svnrepo"/subdir &&
 | 
						|
	git svn fetch &&
 | 
						|
	git svn commit-diff -r3 "$prev" "$head" &&
 | 
						|
	svn_cmd cat "$svnrepo"/subdir/readme > readme.2 &&
 | 
						|
	cmp readme readme.2
 | 
						|
	'
 | 
						|
 | 
						|
test_done
 |