##// END OF EJS Templates
merge with stable
merge with stable

File last commit:

r10051:a02d43ac stable
r10244:c4c0502b merge default
Show More
test-convert-hg-svn
79 lines | 1.7 KiB | text/plain | TextLexer
/ tests / test-convert-hg-svn
Bryan O'Sullivan
convert: tell the source repository when a rev has been converted...
r5554 #!/bin/sh
"$TESTDIR/hghave" svn svn-bindings || exit 80
fix_path()
{
tr '\\' /
}
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
Patrick Mezard
convert/svn: make sink recover gracefully from empty changeset...
r10051 echo "mq = " >> $HGRCPATH
Bryan O'Sullivan
convert: tell the source repository when a rev has been converted...
r5554
Patrick Mezard
test-convert-hg-svn: make it more windows friendly
r5809 svnpath=`pwd | fix_path`/svn-repo
Bryan O'Sullivan
convert: tell the source repository when a rev has been converted...
r5554 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
Patrick Mezard
test-convert-hg-svn: make it more windows friendly
r5809 # 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
Bryan O'Sullivan
convert: tell the source repository when a rev has been converted...
r5554 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
Patrick Mezard
convert/svn: make sink recover gracefully from empty changeset...
r10051 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 ..
Bryan O'Sullivan
convert: tell the source repository when a rev has been converted...
r5554
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