Mercurial > hg
view tests/test-convert-svn-sink @ 9694:8269fe2d48f6
hgweb: send proper error messages to the client
Fixes a bug in protocol which caused an exception during exception handling in
some cases on Windows. Also makes sure the server error message is correctly
propagated to the client, instead of being thrown away.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Mon, 02 Nov 2009 10:20:04 +0100 |
parents | 99e5f97c9a97 |
children | 14db59e3b248 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" svn svn-bindings no-outer-repo || exit 80 fixpath() { tr '\\' / } svnupanddisplay() { ( cd $1; svn up; svn st -v | fixpath | sed 's/ */ /g' limit='' if [ $2 -gt 0 ]; then limit="--limit=$2" fi svn log --xml -v $limit | fixpath | sed 's,<date>.*,<date/>,' | grep -v 'kind="' ) } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH hg init a echo a > a/a mkdir -p a/d1/d2 echo b > a/d1/d2/b echo % add hg --cwd a ci -d '0 0' -A -m 'add a file' "$TESTDIR/svn-safe-append.py" a a/a echo % modify hg --cwd a ci -d '1 0' -m 'modify a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 2 ls a a-hg-wc cmp a/a a-hg-wc/a && echo same || echo different hg --cwd a mv a b echo % rename hg --cwd a ci -d '2 0' -m 'rename a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 ls a a-hg-wc hg --cwd a cp b c echo % copy hg --cwd a ci -d '3 0' -m 'copy a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 ls a a-hg-wc hg --cwd a rm b echo % remove hg --cwd a ci -d '4 0' -m 'remove a file' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 ls a a-hg-wc chmod +x a/c echo % executable hg --cwd a ci -d '5 0' -m 'make a file executable' hg --cwd a tip -q hg convert -d svn a svnupanddisplay a-hg-wc 1 test -x a-hg-wc/c && echo executable || echo not executable echo % executable in new directory rm -rf a a-hg a-hg-wc hg init a mkdir a/d1 echo a > a/d1/a chmod +x a/d1/a hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory' hg convert -d svn a svnupanddisplay a-hg-wc 1 test -x a-hg-wc/d1/a && echo executable || echo not executable echo % copy to new directory mkdir a/d2 hg --cwd a cp d1/a d2/a hg --cwd a ci -d '1 0' -A -m 'copy file to new directory' hg convert -d svn a svnupanddisplay a-hg-wc 1 echo % branchy history hg init b echo base > b/b hg --cwd b ci -d '0 0' -Ambase "$TESTDIR/svn-safe-append.py" left-1 b/b echo left-1 > b/left-1 hg --cwd b ci -d '1 0' -Amleft-1 "$TESTDIR/svn-safe-append.py" left-2 b/b echo left-2 > b/left-2 hg --cwd b ci -d '2 0' -Amleft-2 hg --cwd b up 0 "$TESTDIR/svn-safe-append.py" right-1 b/b echo right-1 > b/right-1 hg --cwd b ci -d '3 0' -Amright-1 "$TESTDIR/svn-safe-append.py" right-2 b/b echo right-2 > b/right-2 hg --cwd b ci -d '4 0' -Amright-2 hg --cwd b up -C 2 hg --cwd b merge hg --cwd b revert -r 2 b hg resolve -m b hg --cwd b ci -d '5 0' -m 'merge' hg convert -d svn b echo % expect 4 changes svnupanddisplay b-hg-wc 0