contrib/packagelib.sh
author Yuya Nishihara <yuya@tcha.org>
Sun, 20 Mar 2016 16:49:56 -0700
changeset 28881 d9f7f590f1e3
parent 26833 6474b64045fb
child 29641 13f90dde8f8c
permissions -rw-r--r--
test-progress: disable mocking-time tests on chg It's hard to make these tests compatible with chg because a mocked time.time() is recorded and accessed by progbar at random timing. I don't think it's worth fixing this test as it is considered a unit test of time estimates, so just ignores on chg.

# Extract version number into 4 parts, some of which may be empty:
#
# version: the numeric part of the most recent tag. Will always look like 1.3.
#
# type: if an rc build, "rc", otherwise empty
#
# distance: the distance from the nearest tag, or empty if built from a tag
#
# node: the node|short hg was built from, or empty if built from a tag
gethgversion() {
    make clean
    make local || make local PURE=--pure
    HG="$PWD/hg"

    $HG version > /dev/null || { echo 'abort: hg version failed!'; exit 1 ; }

    hgversion=`$HG version | sed -ne 's/.*(version \(.*\))$/\1/p'`

    if echo $hgversion | grep + > /dev/null 2>&1 ; then
        tmp=`echo $hgversion | cut -d+ -f 2`
        hgversion=`echo $hgversion | cut -d+ -f 1`
        distance=`echo $tmp | cut -d- -f 1`
        node=`echo $tmp | cut -d- -f 2`
    else
        distance=''
        node=''
    fi
    if echo $hgversion | grep -- '-' > /dev/null 2>&1; then
        version=`echo $hgversion | cut -d- -f1`
        type=`echo $hgversion | cut -d- -f2`
    else
        version=$hgversion
        type=''
    fi
}