view tools/common.sh @ 718:db0eb6237420

wrapper: fail properly with unsupported versions of Subvertpy (fixes #212) Calling subvertpy.wc.api_version() will raise an AttributeError with versions of Subvertpy prior to 0.7.4. This AttributeError completely breaks hgsubversion, as our infrastructure assumes that only ImportErrors are raised during imports. Delaying the call to api_version() until after the Subvertpy version check should make things work again.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Sun, 03 Oct 2010 17:53:20 +0200
parents 5071b8511572
children
line wrap: on
line source

function verify_current_revision()
{
    /bin/rm -rf *
    exportcmd="svn export `hg svn info 2> /dev/null | grep '^URL: ' | sed 's/URL: //'`@`hg svn info | grep ^Revision | sed 's/.*: //;s/ .*//'` . --force"
    `echo $exportcmd` > /dev/null
    x=$?
    if [[ "$x" != "0" ]] ; then
        echo $exportcmd
        echo 'export failed!'
        return 255
    fi
    if [[ "`hg st | wc -l | python -c 'import sys; print sys.stdin.read().strip()'`" == "0" ]] ; then
        return 0
    else
        if [[ $1 != "keep" ]] ; then
            revert_all_files
        fi
        return 1
    fi
}

function revert_all_files()
{
    hg revert --all
    hg purge
}