diff tests/test-convert-svn-startrev @ 6173:963000ed8cac

convert: add shallow, single branch svn conversions via svn.startrev
author Patrick Mezard <pmezard@gmail.com>
date Sun, 24 Feb 2008 17:58:55 +0100
parents
children c1b47c0fd2b6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-svn-startrev	Sun Feb 24 17:58:55 2008 +0100
@@ -0,0 +1,81 @@
+#!/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
+echo a > trunk/a
+echo b > trunk/b
+svn add trunk/a trunk/b
+svn ci -m createab
+svn rm trunk/b
+svn ci -m removeb
+svn up
+echo a >> trunk/a
+svn ci -m changeaa
+
+echo % branch
+svn up
+svn copy trunk branches/branch1
+echo a >> branches/branch1/a
+svn ci -m "branch, changeaaa"
+
+echo a >> branches/branch1/a
+echo c > branches/branch1/c
+svn add branches/branch1/c
+svn ci -m "addc,changeaaaa"
+svn up
+cd ..
+
+convert()
+{
+    startrev=$1
+    repopath=A-r$startrev-hg
+    hg convert --config convert.svn.startrev=$startrev \
+        --config convert.svn.trunk=branches/branch1 \
+        --config convert.svn.branches="  " \
+        --config convert.svn.tags= \
+        --datesort $svnurl $repopath
+    hg -R $repopath glog --template '#rev# #desc|firstline# files: #files#\n'
+    echo
+}
+
+echo % convert before branching point
+convert 3
+echo % convert before branching point
+convert 4
+echo % convert at branching point
+convert 5
+echo % convert last revision only
+convert 6