test-convert-hg-svn
66 lines
| 1.4 KiB
| text/plain
|
TextLexer
/ tests / test-convert-hg-svn
Bryan O'Sullivan
|
r5554 | #!/bin/sh | ||
"$TESTDIR/hghave" svn svn-bindings || exit 80 | ||||
fix_path() | ||||
{ | ||||
tr '\\' / | ||||
} | ||||
echo "[extensions]" >> $HGRCPATH | ||||
echo "convert = " >> $HGRCPATH | ||||
svnpath=`pwd`/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 | ||||
svnurl=file://$svnpath | ||||
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 | ||||
echo b > $svnpath-work/b | ||||
hg --cwd $svnpath-work add b | ||||
hg --cwd $svnpath-work ci -mb | ||||
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 | ||||