git/t/t9108-git-svn-glob.sh
Eric Wong ccb6b6f5b5 t910*: s/repo-config/config/g; poke around possible race conditions
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>
2007-02-23 00:57:12 -08:00

59 lines
1.8 KiB
Bash
Executable file

#!/bin/sh
# Copyright (c) 2007 Eric Wong
test_description='git-svn globbing refspecs'
. ./lib-git-svn.sh
cat > expect.end <<EOF
the end
hi
start a new branch
initial
EOF
test_expect_success 'test refspec globbing' "
mkdir -p trunk/src/a trunk/src/b trunk/doc &&
echo 'hello world' > trunk/src/a/readme &&
echo 'goodbye world' > trunk/src/b/readme &&
svn import -m 'initial' trunk $svnrepo/trunk &&
svn co $svnrepo tmp &&
cd tmp &&
mkdir branches tags &&
svn add branches tags &&
svn cp trunk branches/start &&
svn commit -m 'start a new branch' &&
svn up &&
echo 'hi' >> branches/start/src/b/readme &&
poke branches/start/src/b/readme &&
echo 'hey' >> branches/start/src/a/readme &&
poke branches/start/src/a/readme &&
svn commit -m 'hi' &&
svn up &&
svn cp branches/start tags/end &&
echo 'bye' >> tags/end/src/b/readme &&
poke tags/end/src/b/readme &&
echo 'aye' >> tags/end/src/a/readme &&
poke tags/end/src/a/readme &&
svn commit -m 'the end' &&
echo 'byebye' >> tags/end/src/b/readme &&
poke tags/end/src/b/readme &&
svn commit -m 'nothing to see here'
cd .. &&
git config --add svn-remote.svn.url $svnrepo &&
git config --add svn-remote.svn.fetch \
'trunk/src/a:refs/remotes/trunk' &&
git config --add svn-remote.svn.branches \
'branches/*/src/a:refs/remotes/branches/*' &&
git config --add svn-remote.svn.tags\
'tags/*/src/a:refs/remotes/tags/*' &&
git-svn multi-fetch &&
git log --pretty=oneline refs/remotes/tags/end | \
sed -e 's/^.\{41\}//' > output.end &&
cmp expect.end output.end &&
test \"\`git rev-parse refs/remotes/tags/end~1\`\" = \
\"\`git rev-parse refs/remotes/branches/start\`\" &&
test \"\`git rev-parse refs/remotes/branches/start~2\`\" = \
\"\`git rev-parse refs/remotes/trunk\`\"
"
test_done