##// END OF EJS Templates
tests/run-tests: avoid C:/ in arguments...
tests/run-tests: avoid C:/ in arguments MSYS replaces C:/... in arguments with C;... as it interprets the C:/ as a colon separated POSIX path list. The colon is replaced with ; (path separator on Windows) according to http://www.mingw.org/wiki/Posix_path_conversion So we must not replace \ with / for neither $TESTTMP nor $TESTDIR, but we have to keep replacing \ with / for the Popen4 call of function hghave. If we don't do the latter, test-run-tests.t will fail with $ python run-tests.py --local test-run-tests.t --- C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t +++ C:\Users\adi\hgrepos\hg-main\tests\test-run-tests.t.err @@ -70,6 +70,7 @@ tested #else $ echo skipped + skipped #endif #if false An additional tweak in test-ssh.t is needed that globs away an encoded path, as it can't be translated back to $TESTTMP, because the backslashes in the output have been already encoded as %5C. This patch makes test-ssh.t pass in MSYS on Windows.

File last commit:

r13052:5fb924ee stable
r16897:2774576d default
Show More
svndump-replace.sh
81 lines | 1.5 KiB | application/x-sh | BashLexer
#!/bin/sh
RSVN="`pwd`/rsvn.py"
export PATH=/bin:/usr/bin
mkdir temp
cd temp
svnadmin create repo
svn co file://`pwd`/repo wc
cd wc
mkdir trunk branches
cd trunk
echo a > a
mkdir d
echo b > d/b
ln -s d dlink
ln -s d dlink2
ln -s d dlink3
mkdir d2
echo a > d2/a
cd ..
svn add *
svn ci -m 'initial'
# Clobber symlink with file with similar content
cd trunk
ls -Alh
readlink dlink3 > dlink3tmp
rm dlink3
mv dlink3tmp dlink3
svn propdel svn:special dlink3
svn ci -m 'clobber symlink'
cd ..
svn up
# Clobber files and symlink with directories
cd ..
cat > clobber.rsvn <<EOF
rdelete trunk/a
rdelete trunk/dlink
rcopy trunk/d trunk/a
rcopy trunk/d trunk/dlink
EOF
python $RSVN --message=clobber1 --username=evil `pwd`/repo < clobber.rsvn
# Clobber non-symlink with symlink with same content (kudos openwrt)
cat > clobber.rsvn <<EOF
rdelete trunk/dlink3
rcopy trunk/dlink2 trunk/dlink3
EOF
python $RSVN --message=clobber2 --username=evil `pwd`/repo < clobber.rsvn
# Create d2 in branch so d2 has 'a' is in branch/d2 and trunk/d2,
# 'b' is in trunk/d2 and 'c' is in branch/d2
cd wc/trunk
echo b > d2/b
svn add d2/b
svn ci -m adddb
cd ..
svn up
svn cp trunk branches/branch
cd branches/branch
svn rm d2/b
echo c > d2/c
svn add d2/c
cd ../..
svn ci -m branch
svn up
cd ..
cat > clobber.rsvn <<EOF
rdelete trunk/d2
rcopy branches/branch/d2 trunk/d2
EOF
python $RSVN --message=clobberdir --username=evil `pwd`/repo < clobber.rsvn
svn log -v file://`pwd`/repo
svnadmin dump repo > ../replace.svndump