#!/bin/ksh
#
# $Revision: 1.3 $ $Date: 2012-07-26 16:48:39-04 $
# $Source: /home/vogelke/bin/RCS/newvers,v $
# $Host: sys7.com $
# $UUID: 1954791c-9c19-3571-bd2a-498b226735b9 $
#
#<newvers: version generator, intended to make tags like "x.y".
# No arguments increments y.  Any arguments increments x, sets y=1.

PATH=/bin:/usr/bin:/usr/local/bin
export PATH
file=.version

showme () {
    # Keep the RCS file in the current directory - cleaner.
    test -f RCS/${file},v && mv RCS/${file},v .

    set X $(head -1 ${file},v | tr ';.' '  ')
    case "$#" in
        4) echo $3.$4 ;;
        *) ;;
    esac
}

# We don't care what goes in as long as it changes.
echo $$.$RANDOM > $file

case "$#" in
    0)  echo checkin | ci -q ${file}        # minor version
        rcs -q -U ${file}
        showme
        ;;

    *)  arg="$1"
        if test -f ${file},v; then          # major version
            set X $(head -1 ${file},v | tr ';.' '  ')
            major=$(($3 + 1))
        else
            major=1
        fi

        # We have an argument, is it numeric?
        expr "$arg" : "[0-9]*$" > /dev/null && major=$arg

        echo checkin | ci -r${major}.1 -q ${file}
        rcs -q -U ${file}
        showme
        ;;
esac

exit 0
