Mercurial > hg
view tests/test-convert-hg-svn @ 8548:3ccbe42ff72f
setup: read .hg_archival.txt for version info (issue1670)
Previously, setup.py was enhanced to identify the Mercurial version
from either .hg/ or mercurial/__version__.py. When archives are
created using 'hg archive' or via hgweb, neither of those options are
available. However, there is a .hg_archival.txt file in the root of
the archive that has the information. This patch enhances setup.py to
identify the Mercurial version from the .hg_archival.txt file when
there is no .hg/ or mercurial/__version__.py available.
author | Jeremy Whitlock <jcscoobyrs@gmail.com> |
---|---|
date | Fri, 22 May 2009 21:03:06 +0200 |
parents | 34c4131abdf9 |
children | a02d43acbc04 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" svn svn-bindings || exit 80 fix_path() { tr '\\' / } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH svnpath=`pwd | fix_path`/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 # 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 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