tests/test-subrepo-svn.t
changeset 17033 0413f68da85c
parent 17032 7dd82e0c43ea
child 17108 1894dac619de
--- a/tests/test-subrepo-svn.t	Sat Jun 23 19:54:08 2012 +0300
+++ b/tests/test-subrepo-svn.t	Tue Jun 26 03:35:22 2012 +0200
@@ -1,23 +1,17 @@
   $ "$TESTDIR/hghave" svn15 || exit 80
 
-  $ fix_path()
-  > {
-  >     tr '\\' /
-  > }
-
-SVN wants all paths to start with a slash. Unfortunately, Windows ones
-don't. Handle that.
-
-  $ escapedwd=`pwd | fix_path`
-  $ expr "$escapedwd" : '\/' > /dev/null || escapedwd="/$escapedwd"
-  $ escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"`
+  $ SVNREPOPATH=`pwd`/svn-repo
+#if windows
+  $ SVNREPOURL=file:///`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
+#else
+  $ SVNREPOURL=file://`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
+#endif
 
 create subversion repo
 
-  $ SVNREPO="file://$escapedwd/svn-repo"
   $ WCROOT="`pwd`/svn-wc"
   $ svnadmin create svn-repo
-  $ svn co "$SVNREPO" svn-wc
+  $ svn co "$SVNREPOURL" svn-wc
   Checked out revision 0.
   $ cd svn-wc
   $ mkdir src
@@ -38,7 +32,7 @@
   Transmitting file data ..
   Committed revision 1.
   $ svn up -q
-  $ echo "externals -r1 $SVNREPO/externals" > extdef
+  $ echo "externals -r1 $SVNREPOURL/externals" > extdef
   $ svn propset -F extdef svn:externals src
   property 'svn:externals' set on 'src'
   $ svn ci -m 'Setting externals'
@@ -62,11 +56,11 @@
 
 add first svn sub with leading whitespaces
 
-  $ echo "s =        [svn]       $SVNREPO/src" >> .hgsub
-  $ echo "subdir/s = [svn]       $SVNREPO/src" >> .hgsub
-  $ svn co --quiet "$SVNREPO"/src s
+  $ echo "s =        [svn]       $SVNREPOURL/src" >> .hgsub
+  $ echo "subdir/s = [svn]       $SVNREPOURL/src" >> .hgsub
+  $ svn co --quiet "$SVNREPOURL"/src s
   $ mkdir subdir
-  $ svn co --quiet "$SVNREPO"/src subdir/s
+  $ svn co --quiet "$SVNREPOURL"/src subdir/s
   $ hg add .hgsub
   $ hg ci -m1
 
@@ -132,7 +126,7 @@
 add an unrelated revision in svn and update the subrepo to without
 bringing any changes.
 
-  $ svn mkdir "$SVNREPO/unrelated" -m 'create unrelated'
+  $ svn mkdir "$SVNREPOURL/unrelated" -m 'create unrelated'
   
   Committed revision 4.
   $ svn up -q s
@@ -151,7 +145,7 @@
 
 add a commit from svn
 
-  $ cd "$WCROOT"/src
+  $ cd "$WCROOT/src"
   $ svn up -q
   $ echo xyz >> alpha
   $ svn propset svn:mime-type 'text/xml' alpha
@@ -215,21 +209,21 @@
 clone
 
   $ cd ..
-  $ hg clone t tc | fix_path
+  $ hg clone t tc
   updating to branch default
-  A    tc/s/alpha
-   U   tc/s
+  A    tc/s/alpha (glob)
+   U   tc/s (glob)
   
   Fetching external item into 'tc/s/externals'* (glob)
-  A    tc/s/externals/other
+  A    tc/s/externals/other (glob)
   Checked out external at revision 1.
   
   Checked out revision 3.
-  A    tc/subdir/s/alpha
-   U   tc/subdir/s
+  A    tc/subdir/s/alpha (glob)
+   U   tc/subdir/s (glob)
   
   Fetching external item into 'tc/subdir/s/externals'* (glob)
-  A    tc/subdir/s/externals/other
+  A    tc/subdir/s/externals/other (glob)
   Checked out external at revision 1.
   
   Checked out revision 2.
@@ -258,7 +252,7 @@
   $ ls
 
 Check hg update --clean
-  $ cd $TESTTMP/sub/t
+  $ cd "$TESTTMP/sub/t"
   $ cd s
   $ echo c0 > alpha
   $ echo c1 > f1
@@ -290,7 +284,7 @@
   X *    externals (glob)
 
 Sticky subrepositories, no changes
-  $ cd $TESTTMP/sub/t
+  $ cd "$TESTTMP/sub/t"
   $ hg id -n
   2
   $ cd s
@@ -421,7 +415,7 @@
 Test case where subversion would fail to update the subrepo because there
 are unknown directories being replaced by tracked ones (happens with rebase).
 
-  $ cd $WCROOT/src
+  $ cd "$WCROOT/src"
   $ mkdir dir
   $ echo epsilon.py > dir/epsilon.py
   $ svn add dir
@@ -435,8 +429,8 @@
   $ cd ../..
   $ hg init rebaserepo
   $ cd rebaserepo
-  $ svn co -r5 --quiet "$SVNREPO"/src s
-  $ echo "s =        [svn]       $SVNREPO/src" >> .hgsub
+  $ svn co -r5 --quiet "$SVNREPOURL"/src s
+  $ echo "s =        [svn]       $SVNREPOURL/src" >> .hgsub
   $ hg add .hgsub
   $ hg ci -m addsub
   $ echo a > a
@@ -462,14 +456,14 @@
 test having obstructions when switching branches on checkout:
   $ hg checkout tip
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ echo "obstruct =        [svn]       $SVNREPO/externals" >> .hgsub
-  $ svn co -r5 --quiet "$SVNREPO"/externals obstruct
+  $ echo "obstruct =        [svn]       $SVNREPOURL/externals" >> .hgsub
+  $ svn co -r5 --quiet "$SVNREPOURL"/externals obstruct
   $ hg commit -m 'Start making obstructed working copy'
   $ hg book other
   $ hg co -r 'p1(tip)'
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ echo "obstruct =        [svn]       $SVNREPO/src" >> .hgsub
-  $ svn co -r5 --quiet "$SVNREPO"/src obstruct
+  $ echo "obstruct =        [svn]       $SVNREPOURL/src" >> .hgsub
+  $ svn co -r5 --quiet "$SVNREPOURL"/src obstruct
   $ hg commit -m 'Other branch which will be obstructed'
   created new head
 
@@ -495,13 +489,13 @@
   Transmitting file data .
   Committed revision 7.
   At revision 7.
-  $ svn mkdir -m "baseline" $SVNREPO/trunk
+  $ svn mkdir -m "baseline" $SVNREPOURL/trunk
   
   Committed revision 8.
-  $ svn copy -m "initial branch" $SVNREPO/trunk $SVNREPO/branch
+  $ svn copy -m "initial branch" $SVNREPOURL/trunk $SVNREPOURL/branch
   
   Committed revision 9.
-  $ svn co --quiet "$SVNREPO"/branch tempwc
+  $ svn co --quiet "$SVNREPOURL"/branch tempwc
   $ cd tempwc
   $ echo "something old" > somethingold
   $ svn add somethingold
@@ -510,10 +504,10 @@
   Adding         somethingold
   Transmitting file data .
   Committed revision 10.
-  $ svn rm -m "remove branch" $SVNREPO/branch
+  $ svn rm -m "remove branch" $SVNREPOURL/branch
   
   Committed revision 11.
-  $ svn copy -m "recreate branch" $SVNREPO/trunk $SVNREPO/branch
+  $ svn copy -m "recreate branch" $SVNREPOURL/trunk $SVNREPOURL/branch
   
   Committed revision 12.
   $ svn up -q
@@ -526,10 +520,10 @@
   Committed revision 13.
   $ cd ..
   $ rm -rf tempwc
-  $ svn co "$SVNREPO/branch"@10 recreated
+  $ svn co "$SVNREPOURL/branch"@10 recreated
   A    recreated/somethingold (glob)
   Checked out revision 10.
-  $ echo "recreated =        [svn]       $SVNREPO/branch" >> .hgsub
+  $ echo "recreated =        [svn]       $SVNREPOURL/branch" >> .hgsub
   $ hg ci -m addsub
   $ cd recreated
   $ svn up -q
@@ -573,7 +567,7 @@
 be different from the revision, and the path will be different as
 well.
 
-  $ cd $WCROOT
+  $ cd "$WCROOT"
   $ svn up > /dev/null
   $ mkdir trunk/subdir branches
   $ echo a > trunk/subdir/a
@@ -587,17 +581,17 @@
   Adding         trunk/subdir/a (glob)
   Transmitting file data .
   Committed revision 14.
-  $ svn cp -m branchtrunk $SVNREPO/trunk $SVNREPO/branches/somebranch
+  $ svn cp -m branchtrunk $SVNREPOURL/trunk $SVNREPOURL/branches/somebranch
   
   Committed revision 15.
   $ cd ..
 
   $ hg init repo2
   $ cd repo2
-  $ svn co $SVNREPO/branches/somebranch/subdir
+  $ svn co $SVNREPOURL/branches/somebranch/subdir
   A    subdir/a (glob)
   Checked out revision 15.
-  $ echo "subdir = [svn] $SVNREPO/branches/somebranch/subdir" > .hgsub
+  $ echo "subdir = [svn] $SVNREPOURL/branches/somebranch/subdir" > .hgsub
   $ hg add .hgsub
   $ hg ci -m addsub
   $ hg up null