test-convert-svn-branches
98 lines
| 2.1 KiB
| text/plain
|
TextLexer
/ tests / test-convert-svn-branches
Patrick Mezard
|
r5874 | #!/bin/sh | ||
"$TESTDIR/hghave" svn svn-bindings || exit 80 | ||||
fix_path() | ||||
{ | ||||
tr '\\' / | ||||
} | ||||
echo "[extensions]" >> $HGRCPATH | ||||
echo "convert = " >> $HGRCPATH | ||||
echo "hgext.graphlog =" >> $HGRCPATH | ||||
svnadmin create svn-repo | ||||
svnpath=`pwd | fix_path` | ||||
# SVN wants all paths to start with a slash. Unfortunately, | ||||
# Windows ones don't. Handle that. | ||||
expr $svnpath : "\/" > /dev/null | ||||
if [ $? -ne 0 ]; then | ||||
svnpath='/'$svnpath | ||||
fi | ||||
echo % initial svn import | ||||
mkdir projA | ||||
cd projA | ||||
mkdir trunk | ||||
mkdir branches | ||||
mkdir tags | ||||
cd .. | ||||
svnurl=file://$svnpath/svn-repo/projA | ||||
svn import -m "init projA" projA $svnurl | fix_path | ||||
echo % update svn repository | ||||
svn co $svnurl A | fix_path | ||||
cd A | ||||
Patrick Mezard
|
r6537 | echo a > trunk/a | ||
echo b > trunk/b | ||||
echo c > trunk/c | ||||
Patrick Mezard
|
r6491 | # Add a file within branches, used to confuse branch detection | ||
Patrick Mezard
|
r6537 | echo d > branches/notinbranch | ||
svn add trunk/a trunk/b trunk/c branches/notinbranch | ||||
Patrick Mezard
|
r5874 | svn ci -m hello | ||
Patrick Mezard
|
r6537 | echo % branch to old | ||
Patrick Mezard
|
r5874 | svn copy trunk branches/old | ||
Patrick Mezard
|
r6537 | svn rm branches/old/c | ||
svn ci -m "branch trunk, remove c" | ||||
Patrick Mezard
|
r5874 | svn up | ||
echo % update trunk | ||||
Patrick Mezard
|
r6537 | "$TESTDIR/svn-safe-append.py" a trunk/a | ||
svn ci -m "change a" | ||||
Patrick Mezard
|
r5874 | |||
echo % update old branch | ||||
Patrick Mezard
|
r6537 | "$TESTDIR/svn-safe-append.py" b branches/old/b | ||
svn ci -m "change b" | ||||
Patrick Mezard
|
r5874 | |||
echo % create a cross-branch revision | ||||
Patrick Mezard
|
r6851 | svn move trunk/b branches/old/c | ||
Patrick Mezard
|
r6537 | "$TESTDIR/svn-safe-append.py" c branches/old/c | ||
svn ci -m "move and update c" | ||||
Patrick Mezard
|
r5874 | |||
echo % update old branch again | ||||
Patrick Mezard
|
r6537 | "$TESTDIR/svn-safe-append.py" b branches/old/b | ||
svn ci -m "change b again" | ||||
Patrick Mezard
|
r5874 | |||
Patrick Mezard
|
r6540 | echo % move back and forth between branch of similar names | ||
# This used to generate fake copy records | ||||
svn up | ||||
svn move branches/old branches/old2 | ||||
svn ci -m "move to old2" | ||||
svn move branches/old2 branches/old | ||||
svn ci -m "move back to old" | ||||
Patrick Mezard
|
r5874 | echo % update trunk again | ||
Patrick Mezard
|
r6537 | "$TESTDIR/svn-safe-append.py" a trunk/a | ||
svn ci -m "last change to a" | ||||
Patrick Mezard
|
r5874 | cd .. | ||
echo % convert trunk and branches | ||||
hg convert --datesort $svnurl A-hg | ||||
echo % branch again from a converted revision | ||||
cd A | ||||
Patrick Mezard
|
r6540 | svn copy -r 1 $svnurl/trunk branches/old3 | ||
svn ci -m "branch trunk@1 into old3" | ||||
Patrick Mezard
|
r5874 | cd .. | ||
echo % convert again | ||||
hg convert --datesort $svnurl A-hg | ||||
cd A-hg | ||||
Patrick Mezard
|
r6540 | hg glog --template 'branch=#branches# #rev# #desc|firstline# files: #files#\n' | ||
Patrick Mezard
|
r5874 | hg branches | sed 's/:.*/:/' | ||
hg tags -q | ||||
cd .. | ||||