view tools/common.sh @ 1170:61d4fb78370b stable

pull: fix pull when phases.new-commit=secret This was causing subtle failures during pull. I believe the line where we manually "set phase to public" isn't required any more, but more work is required to verify that behavior on all versions of hg, so we'll do that as a followup on default if needed.
author Augie Fackler <raf@durin42.com>
date Fri, 04 Apr 2014 21:27:55 -0400
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
}