tests: unify test-convert-hg-svn
authorMatt Mackall <mpm@selenic.com>
Sun, 26 Sep 2010 16:53:06 -0500
changeset 12527 9a0528fd9172
parent 12526 9892949bd969
child 12528 f6b206417ba4
tests: unify test-convert-hg-svn
tests/test-convert-hg-svn
tests/test-convert-hg-svn.out
tests/test-convert-hg-svn.t
--- a/tests/test-convert-hg-svn	Sun Sep 26 16:48:57 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-#!/bin/sh
-
-"$TESTDIR/hghave" svn svn-bindings || exit 80
-
-fix_path()
-{
-    tr '\\' /
-}
-
-echo "[extensions]" >> $HGRCPATH
-echo "convert = " >> $HGRCPATH
-echo "mq = " >> $HGRCPATH
-
-svnpath=`pwd | fix_path`/svn-repo
-svnadmin create "$svnpath"
-
-cat > "$svnpath"/hooks/pre-revprop-change <<'EOF'
-#!/bin/sh
-
-REPOS="$1"
-REV="$2"
-USER="$3"
-PROPNAME="$4"
-ACTION="$5"
-
-if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
-if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-branch" ]; then exit 0; fi
-if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-rev" ]; then exit 0; fi
-
-echo "Changing prohibited revision property" >&2
-exit 1
-EOF
-chmod +x "$svnpath"/hooks/pre-revprop-change
-
-# SVN wants all paths to start with a slash. Unfortunately,
-# Windows ones don't. Handle that.
-svnurl="$svnpath"
-expr "$svnurl" : "\/" > /dev/null
-if [ $? -ne 0 ]; then
-    svnurl="/$svnurl"
-fi
-svnurl="file://$svnurl"
-svn co "$svnurl" "$svnpath"-wc
-
-cd "$svnpath"-wc
-echo a > a
-svn add a
-svn ci -m'added a' a
-
-cd ..
-
-echo % initial roundtrip
-hg convert -s svn -d hg "$svnpath"-wc "$svnpath"-hg | grep -v initializing
-hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
-
-echo % second roundtrip should do nothing
-hg convert -s svn -d hg "$svnpath"-wc "$svnpath"-hg
-hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
-
-echo % new hg rev
-
-hg clone "$svnpath"-hg "$svnpath"-work
-cd "$svnpath"-work
-echo b > b
-hg add b
-hg ci -mb
-echo '% adding an empty revision'
-hg qnew -m emtpy empty
-hg qfinish -a
-cd ..
-
-echo % echo hg to svn
-hg --cwd "$svnpath"-hg pull -q "$svnpath"-work
-hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
-
-echo % svn back to hg should do nothing
-hg convert -s svn -d hg "$svnpath"-wc "$svnpath"-hg
-echo % hg back to svn should do nothing
-hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
--- a/tests/test-convert-hg-svn.out	Sun Sep 26 16:48:57 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-Checked out revision 0.
-A         a
-Adding         a
-Transmitting file data .
-Committed revision 1.
-% initial roundtrip
-scanning source...
-sorting...
-converting...
-0 added a
-scanning source...
-sorting...
-converting...
-% second roundtrip should do nothing
-scanning source...
-sorting...
-converting...
-scanning source...
-sorting...
-converting...
-% new hg rev
-updating to branch default
-1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-% adding an empty revision
-% echo hg to svn
-scanning source...
-sorting...
-converting...
-1 b
-0 emtpy
-% svn back to hg should do nothing
-scanning source...
-sorting...
-converting...
-% hg back to svn should do nothing
-scanning source...
-sorting...
-converting...
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-convert-hg-svn.t	Sun Sep 26 16:53:06 2010 -0500
@@ -0,0 +1,108 @@
+
+  $ "$TESTDIR/hghave" svn svn-bindings || exit 80
+  $ fix_path()
+  > {
+  >     tr '\\' /
+  > }
+  $ echo "[extensions]" >> $HGRCPATH
+  $ echo "convert = " >> $HGRCPATH
+  $ echo "mq = " >> $HGRCPATH
+  $ svnpath=`pwd | fix_path`/svn-repo
+  $ svnadmin create "$svnpath"
+  $ cat > "$svnpath"/hooks/pre-revprop-change <<EOF
+  > #!/bin/sh
+  > 
+  > REPOS="$1"
+  > REV="$2"
+  > USER="$3"
+  > PROPNAME="$4"
+  > ACTION="$5"
+  > 
+  > if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
+  > if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-branch" ]; then exit 0; fi
+  > if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-rev" ]; then exit 0; fi
+  > 
+  > echo "Changing prohibited revision property" >&2
+  > exit 1
+  > EOF
+  $ chmod +x "$svnpath"/hooks/pre-revprop-change
+  $ 
+  $ # SVN wants all paths to start with a slash. Unfortunately,
+  $ # Windows ones don't. Handle that.
+  $ svnurl="$svnpath"
+  $ expr "$svnurl" : "\/" > /dev/null || svnurl="/$svnurl"
+  $ svnurl="file://$svnurl"
+  $ svn co "$svnurl" "$svnpath"-wc
+  Checked out revision 0.
+  $ cd "$svnpath"-wc
+  $ echo a > a
+  $ svn add a
+  A         a
+  $ svn ci -m'added a' a
+  Adding         a
+  Transmitting file data .
+  Committed revision 1.
+  $ cd ..
+
+initial roundtrip
+
+  $ hg convert -s svn -d hg "$svnpath"-wc "$svnpath"-hg | grep -v initializing
+  scanning source...
+  sorting...
+  converting...
+  0 added a
+  $ hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
+  scanning source...
+  sorting...
+  converting...
+
+second roundtrip should do nothing
+
+  $ hg convert -s svn -d hg "$svnpath"-wc "$svnpath"-hg
+  scanning source...
+  sorting...
+  converting...
+  $ hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
+  scanning source...
+  sorting...
+  converting...
+
+new hg rev
+
+  $ hg clone "$svnpath"-hg "$svnpath"-work
+  updating to branch default
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd "$svnpath"-work
+  $ echo b > b
+  $ hg add b
+  $ hg ci -mb
+
+adding an empty revision
+
+  $ hg qnew -m emtpy empty
+  $ hg qfinish -a
+  $ cd ..
+
+echo hg to svn
+
+  $ hg --cwd "$svnpath"-hg pull -q "$svnpath"-work
+  $ hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
+  scanning source...
+  sorting...
+  converting...
+  1 b
+  0 emtpy
+
+svn back to hg should do nothing
+
+  $ hg convert -s svn -d hg "$svnpath"-wc "$svnpath"-hg
+  scanning source...
+  sorting...
+  converting...
+
+hg back to svn should do nothing
+
+  $ hg convert -s hg -d svn "$svnpath"-hg "$svnpath"-wc
+  scanning source...
+  sorting...
+  converting...