view tools/common.sh @ 1471:6bc2a2f61923

svnmeta: add a config option to use sqlite revmap This patch adds a config option to choose the revmap implementation. It's "plain" by default and can be set to "sqlite". The sqlite implementation will migrate data from the plain revmap while the "plain" implementation will complain if it sees the sqlite revmap. A class variable is added for setting the default revmap implementation, which is useful for testing.
author Jun Wu <quark@fb.com>
date Wed, 15 Jun 2016 17:17:56 +0100
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
}