mirror of
https://github.com/git/git.git
synced 2024-11-20 17:45:19 +01:00
ccb6b6f5b5
Some of the repo-config => config renaming missed the git-svn tests; so I'm just renaming them to be consisten with the rest of the modern git. Also, some of the newer tests didn't have 'poke' in them to workaround race conditions on fast machines. This adds places where they can _possibly_ occur; but I don't have fast enough hardware to trigger them. Signed-off-by: Eric Wong <normalperson@yhbt.net>
107 lines
3.3 KiB
Bash
Executable File
107 lines
3.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2006 Sam Vilian
|
|
#
|
|
|
|
test_description='git-svn on SVK mirror paths'
|
|
. ./lib-git-svn.sh
|
|
|
|
# ok, people who don't have SVK installed probably don't care about
|
|
# this test.
|
|
|
|
# we set up the repository manually, because even if SVK is installed
|
|
# it is difficult to use it in a way that is idempotent.
|
|
|
|
# we are not yet testing merge tickets..
|
|
|
|
uuid=b00bface-b1ff-c0ff-f0ff-b0bafe775e1e
|
|
url=https://really.slow.server.com/foobar
|
|
|
|
test_expect_success 'initialize repo' "
|
|
git config svn-remote.svn.useSvmProps true &&
|
|
|
|
echo '#!/bin/sh' > $rawsvnrepo/hooks/pre-revprop-change &&
|
|
echo 'exit 0' >> $rawsvnrepo/hooks/pre-revprop-change &&
|
|
chmod +x $rawsvnrepo/hooks/pre-revprop-change &&
|
|
|
|
mkdir import &&
|
|
cd import &&
|
|
mkdir local &&
|
|
echo hello > local/readme &&
|
|
svn import -m 'random local work' . $svnrepo &&
|
|
cd .. &&
|
|
|
|
svn co $svnrepo wc &&
|
|
cd wc &&
|
|
mkdir -p mirror/foobar &&
|
|
svn add mirror &&
|
|
svn ps svm:source $url mirror/foobar &&
|
|
svn ps svm:uuid $uuid mirror/foobar &&
|
|
svn ps svm:mirror / mirror/foobar &&
|
|
svn commit -m 'setup mirror/foobar as mirror of upstream' &&
|
|
svn ps -r 2 --revprop svm:headrev $uuid:0 $svnrepo &&
|
|
|
|
mkdir mirror/foobar/trunk
|
|
echo hello, world > mirror/foobar/trunk/readme &&
|
|
svn add mirror/foobar/trunk &&
|
|
svn commit -m 'first upstream revision' &&
|
|
svn ps -r 3 --revprop svm:headrev $uuid:1 $svnrepo &&
|
|
|
|
svn up &&
|
|
svn mkdir mirror/foobar/branches &&
|
|
svn cp mirror/foobar/trunk mirror/foobar/branches/silly &&
|
|
svn commit -m 'make branch for silliness' &&
|
|
svn ps -r 4 --revprop svm:headrev $uuid:2 $svnrepo &&
|
|
|
|
svn up &&
|
|
echo random untested feature >> mirror/foobar/trunk/readme &&
|
|
poke mirror/foobar/trunk/readme &&
|
|
svn commit -m 'add a c00l feature to trunk' &&
|
|
svn ps -r 5 --revprop svm:headrev $uuid:3 $svnrepo &&
|
|
|
|
svn up &&
|
|
echo bug fix >> mirror/foobar/branches/silly/readme &&
|
|
poke mirror/foobar/branches/silly/readme &&
|
|
svn commit -m 'fix a bug' &&
|
|
svn ps -r 6 --revprop svm:headrev $uuid:4 $svnrepo &&
|
|
|
|
svn mkdir mirror/foobar/tags &&
|
|
svn cp mirror/foobar/branches/silly mirror/foobar/tags/blah-1.0 &&
|
|
svn commit -m 'make a release' &&
|
|
svn ps -r 7 --revprop svm:headrev $uuid:5 $svnrepo &&
|
|
|
|
cd ..
|
|
"
|
|
|
|
test_expect_success 'multi-init an SVK mirror path' "
|
|
git-svn multi-init -T trunk -t tags -b branches $svnrepo/mirror/foobar
|
|
"
|
|
|
|
test_expect_success 'multi-fetch an SVK mirror path' "git-svn multi-fetch"
|
|
|
|
test_expect_success 'got tag history OK' "
|
|
test \`git-log --pretty=oneline remotes/tags/blah-1.0 | wc -l\` -eq 3
|
|
"
|
|
|
|
test_expect_success 're-wrote git-svn-id URL, revision and UUID' "
|
|
git cat-file commit refs/remotes/trunk | \
|
|
fgrep 'git-svn-id: $url/mirror/foobar/trunk@3 $uuid' &&
|
|
git cat-file commit refs/remotes/tags/blah-1.0 | \
|
|
fgrep 'git-svn-id: $url/mirror/foobar/tags/blah-1.0@5 $uuid'
|
|
git cat-file commit refs/remotes/silly | \
|
|
fgrep 'git-svn-id: $url/mirror/foobar/branches/silly@4 $uuid'
|
|
"
|
|
|
|
test_expect_success 're-wrote author e-mail domain UUID' "
|
|
test \`git log --pretty=fuller trunk | \
|
|
grep '<.*@.*>' | fgrep '@$uuid>' | wc -l\` -eq 4 &&
|
|
test \`git log --pretty=fuller remotes/silly | \
|
|
grep '<.*@.*>' | fgrep '@$uuid>' | wc -l\` -eq 6 &&
|
|
test \`git log --pretty=fuller remotes/tags/blah-1.0 | \
|
|
grep '<.*@.*>' | fgrep '@$uuid>' | wc -l\` -eq 6
|
|
"
|
|
|
|
test_debug 'gitk --all &'
|
|
|
|
test_done
|