view tools/common.sh @ 604:1290ab9def8f

pull: fix passing credentials in URL. Previously, the parsed URL - with credentials removed - was used for instantiating a new svnremoterepo instance. One option for fixing this is using the unparsed URL for this instantiation. An even better option, however, is to simply reuse the instance passed to the function as `source'.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Thu, 01 Apr 2010 16:06:01 +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
}