You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
66 lines
2.1 KiB
#!/bin/sh |
|
# |
|
# Copyright (c) 2006 Eric Wong |
|
# |
|
|
|
test_description='git-svn --follow-parent fetching' |
|
. ./lib-git-svn.sh |
|
|
|
test_expect_success 'initialize repo' " |
|
mkdir import && |
|
cd import && |
|
mkdir -p trunk && |
|
echo hello > trunk/readme && |
|
svn import -m 'initial' . $svnrepo && |
|
cd .. && |
|
svn co $svnrepo wc && |
|
cd wc && |
|
echo world >> trunk/readme && |
|
poke trunk/readme && |
|
svn commit -m 'another commit' && |
|
svn up && |
|
svn mv -m 'rename to thunk' trunk thunk && |
|
svn up && |
|
echo goodbye >> thunk/readme && |
|
poke thunk/readme && |
|
svn commit -m 'bye now' && |
|
cd .. |
|
" |
|
|
|
test_expect_success 'init and fetch --follow-parent a moved directory' " |
|
git-svn init -i thunk $svnrepo/thunk && |
|
git-svn fetch --follow-parent -i thunk && |
|
test \"\`git-rev-parse --verify refs/remotes/trunk\`\" \ |
|
= \"\`git-rev-parse --verify refs/remotes/thunk~1\`\" && |
|
test \"\`git-cat-file blob refs/remotes/thunk:readme |\ |
|
sed -n -e '3p'\`\" = goodbye |
|
" |
|
|
|
test_expect_success 'init and fetch from one svn-remote' " |
|
git-repo-config svn-remote.git-svn.url $svnrepo && |
|
git-repo-config --add svn-remote.git-svn.fetch \ |
|
trunk:refs/remotes/svn/trunk && |
|
git-repo-config --add svn-remote.git-svn.fetch \ |
|
thunk:refs/remotes/svn/thunk && |
|
git-svn fetch --follow-parent -i svn/thunk && |
|
test \"\`git-rev-parse --verify refs/remotes/svn/trunk\`\" \ |
|
= \"\`git-rev-parse --verify refs/remotes/svn/thunk~1\`\" && |
|
test \"\`git-cat-file blob refs/remotes/svn/thunk:readme |\ |
|
sed -n -e '3p'\`\" = goodbye |
|
" |
|
|
|
test_expect_success 'follow deleted parent' " |
|
svn cp -m 'resurrecting trunk as junk' \ |
|
-r2 $svnrepo/trunk $svnrepo/junk && |
|
git-repo-config --add svn-remote.git-svn.fetch \ |
|
junk:refs/remotes/svn/junk && |
|
git-svn fetch --follow-parent -i svn/thunk && |
|
git-svn fetch -i svn/junk --follow-parent && |
|
test -z \"\`git diff svn/junk svn/trunk\`\" && |
|
test \"\`git merge-base svn/junk svn/trunk\`\" \ |
|
= \"\`git rev-parse svn/trunk\`\" |
|
" |
|
|
|
test_debug 'gitk --all &' |
|
|
|
test_done
|
|
|