|
|
|
#!/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" &&
|
|
|
|
cd .. &&
|
|
|
|
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
|