##// END OF EJS Templates
fix traceback in hgweb when URL doesn't end in one of the archive specs...
fix traceback in hgweb when URL doesn't end in one of the archive specs If the last n charecters of the URL doesn't match an entry in archive_specs req.form never has a key 'type'. When achive() looks up 'type' in the form dict it causes a traceback rather than printing an error message.

File last commit:

r6439:c1b47c0f default
r6669:782dbbdf default
Show More
test-convert-svn-source
89 lines | 2.0 KiB | text/plain | TextLexer
/ tests / test-convert-svn-source
#!/bin/sh
"$TESTDIR/hghave" svn svn-bindings || exit 80
fix_path()
{
tr '\\' /
}
echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH
echo 'hgext.graphlog =' >> $HGRCPATH
svnadmin create svn-repo
svnpath=`pwd | fix_path`
# SVN wants all paths to start with a slash. Unfortunately,
# Windows ones don't. Handle that.
expr $svnpath : "\/" > /dev/null
if [ $? -ne 0 ]; then
svnpath='/'$svnpath
fi
echo "# now tests that it works with trunk/tags layout, but no branches yet"
echo
echo % initial svn import
mkdir projB
cd projB
mkdir trunk
mkdir tags
cd ..
svnurl=file://$svnpath/svn-repo/projB
svn import -m "init projB" projB $svnurl | fix_path
echo % update svn repository
svn co $svnurl/trunk B | fix_path
cd B
echo hello > letter.txt
svn add letter.txt
svn ci -m hello
"$TESTDIR/svn-safe-append.py" world letter.txt
svn ci -m world
svn copy -m "tag v0.1" $svnurl/trunk $svnurl/tags/v0.1
"$TESTDIR/svn-safe-append.py" 'nice day today!' letter.txt
svn ci -m "nice day"
cd ..
echo % convert to hg once
hg convert $svnurl B-hg
echo % update svn repository again
cd B
"$TESTDIR/svn-safe-append.py" "see second letter" letter.txt
echo "nice to meet you" > letter2.txt
svn add letter2.txt
svn ci -m "second letter"
svn copy -m "tag v0.2" $svnurl/trunk $svnurl/tags/v0.2
"$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt
svn ci -m "work in progress"
cd ..
########################################
echo % test incremental conversion
hg convert $svnurl B-hg
cd B-hg
hg glog --template '#rev# #desc|firstline# files: #files#\n'
hg tags -q
cd ..
echo % test filemap
echo 'include letter2.txt' > filemap
hg convert --filemap filemap $svnurl/trunk fmap
hg glog -R fmap --template '#rev# #desc|firstline# files: #files#\n'
echo % test stop revision
hg convert --rev 1 $svnurl/trunk stoprev
# Check convert_revision extra-records.
# This is also the only place testing more than one extra field
# in a revision.
hg --cwd stoprev tip --debug | grep extra | sed 's/=.*/=/'