mktag
changeset 23 31d7a4ab5910
parent 22 9d0f18677fec
child 24 7af7f159f987
child 25 2991839e05e9
equal deleted inserted replaced
22:9d0f18677fec 23:31d7a4ab5910
     1 #! /bin/bash
       
     2 
       
     3 tmp=$(getopt -n $0 -o f --long force -- "$@")
       
     4 eval set -- $tmp
       
     5 while true; do
       
     6 	o="$1"; shift
       
     7 	case "$o" in
       
     8 		--)		break;;
       
     9 		-f|--force)	o_force="-f";;
       
    10 	esac
       
    11 done
       
    12 
       
    13 
       
    14 tag="${1?}"
       
    15 
       
    16 id=$(hg id)
       
    17 id=${id%% *}
       
    18 
       
    19 case "$id" in
       
    20 	*+)	echo "sorry, local version is modified." >&2
       
    21 		exit 1
       
    22 		;;
       
    23 esac
       
    24 
       
    25 case "$tag" in
       
    26 	v*.*)	;;
       
    27 	*)	echo "sorry, tag should be v*.*" >&2
       
    28 		exit 1
       
    29 		;;
       
    30 esac
       
    31 
       
    32 hg tag $o_force "$tag" \
       
    33 && old=$(hg id -i) \
       
    34 && hg up -r "$tag" \
       
    35 && make clean all \
       
    36 && hg up -r "$old"