scripts/patch-renumber.sh
author Yann E. MORIN
Wed Jun 17 10:46:28 2009 +0200 (2009-06-17)
changeset 1409 7264ce426be4
parent 1175 417b32da90bf
child 1577 c774b2cc7863
permissions -rwxr-xr-x
[configure] Use hg to compute the version string

Now that we have migrated to hg from svn, it does not make sense
to keep using svn tools to compute the version string, so switch
to using mercurial tools (that are much more flexible, BTW).
     1 #!/bin/sh
     2 # Yes, this intends to be a true POSIX script file.
     3 set -e
     4 
     5 myname="$0"
     6 
     7 # Parse the tools' paths configuration
     8 . "paths.mk"
     9 
    10 doUsage() {
    11   cat <<_EOF_
    12 Usage: ${myname} <dir> <base> <inc>
    13     Will renumber all patches found in <dir>, starting at <base>, and with
    14     an increment of <inc>
    15     Eg.: patch-renumber patches/gcc/4.3.1 100 10
    16 _EOF_
    17 }
    18 
    19 [ $# -eq 3 ] || { doUsage; exit 1; }
    20 [ -d "${1}" ] || { doUsage; exit 1; }
    21 
    22 dir="${1}"
    23 cpt="${2}"
    24 inc="${3}"
    25 
    26 case "$(LC_ALL=C svnversion "${dir}" 2>/dev/null)" in
    27     exported)   CMD="mv -v";;
    28     *)          CMD="svn mv";;
    29 esac
    30 
    31 for p in "${dir}"/*.patch; do
    32     [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; }
    33     newname="$(printf "%03d-%s"                                 \
    34                       "${cpt}"                                  \
    35                       "$(basename "${p}"                        \
    36                         |"${sed}" -r -e 's/^[[:digit:]]+[-_]//' \
    37                        )"                                       \
    38               )"
    39     [ "${p}" = "${dir}/${newname}" ] || ${CMD} "${p}" "${dir}/${newname}"
    40     cpt=$((cpt+inc))
    41 done