tests/test-convert-svn
author Dirkjan Ochtman <dirkjan@ochtman.nl>
Tue, 25 Sep 2007 19:05:34 +0200
changeset 5337 8c5ef3b87cb1
parent 5273 4287590a63af
child 5382 d7d395fb7cd5
permissions -rwxr-xr-x
Don't try to determine interactivity if ui() called with interactive=False. WSGI applications are not supposed to refer to sys.stdin. In ed6df6b1c29a, hgweb and hgwebdir were fixed to pass interactive=False to their ui()'s, but sys.stdin.isatty() was still called by the ui objects. This change makes sure only the ui.fixconfig() method will call ui.isatty() (by making the ui._readline() method, which is currently only called from ui.prompt(), private). ui.fixconfig() is changed to let config files override the initial interactivity setting, but not check isatty() if interactive=False was specified in the creation of the ui.

#!/bin/sh

"$TESTDIR/hghave" svn svn-bindings || exit 80

fix_path()
{
    tr '\\' /
}

echo "[extensions]" >> $HGRCPATH
echo "convert = " >> $HGRCPATH

svnadmin create svn-repo

echo % initial svn import
mkdir t
cd t
echo a > a
cd ..

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

svnurl=file://$svnpath/svn-repo/trunk
svn import -m init t $svnurl | fix_path

echo % update svn repository
svn co $svnurl t2 | fix_path
cd t2
echo b >> a
echo b > b
svn add b
svn ci -m changea
cd ..

echo % convert to hg once
hg convert $svnurl

echo % update svn repository again
cd t2
echo c >> a
echo c >> b
svn ci -m changeb
cd ..

echo % test incremental conversion
hg convert $svnurl