view tools/common.sh @ 1181:eb4c7bc23f9e

svnmeta: add generator for cached svn configuration properties This will allow use to unify the reading and writing of configuration options into a central object to simplify their use sprinkled throughout the codebase. The idea is that after this patch, we will move each option to the svnmeta class thereby allowing us to remove lots of I/O cruft. Once the cruft is gone, we'll refactor objects where necessary. After refactoring, we'll have a framework for easily adding new configuration options.
author Sean Farley <sean.michael.farley@gmail.com>
date Mon, 24 Mar 2014 11:20:44 -0500
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
}