tools/patch-renumber.sh
changeset 756 63d3f428f302
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/tools/patch-renumber.sh	Mon Aug 04 12:09:54 2008 +0000
     1.3 @@ -0,0 +1,32 @@
     1.4 +#!/bin/sh
     1.5 +# Yes, this intends to be a true POSIX script file.
     1.6 +
     1.7 +myname="$0"
     1.8 +
     1.9 +doUsage() {
    1.10 +  cat <<_EOF_
    1.11 +Usage: ${myname} <dir> <base> <inc>
    1.12 +    Will renumber all patches found in <dir>, starting at <base>, and with
    1.13 +    an increment of <inc>
    1.14 +    Eg.: patch-renumber patches/gcc/4.3.1 100 10
    1.15 +_EOF_
    1.16 +}
    1.17 +
    1.18 +[ $# -eq 3 ] || { doUsage; exit 1; }
    1.19 +[ -d "${1}" ] || { doUsage; exit 1; }
    1.20 +
    1.21 +dir="${1}"
    1.22 +cpt="${2}"
    1.23 +inc="${3}"
    1.24 +
    1.25 +case $(LC_ALL=C svnversion 2>/dev/null) in
    1.26 +    exported)   CMD="mv -v";;
    1.27 +    *)          CMD="svn mv";;
    1.28 +esac
    1.29 +
    1.30 +for p in "${dir}"/*.patch; do
    1.31 +    [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; }
    1.32 +    newname="$(printf "%03d" ${cpt})-$(basename "${p}" |sed -r -e 's/^[[:digit:]]{3}-//')"
    1.33 +    [ "${p}" = "${dir}/${newname}" ] || ${CMD} "${p}" "${dir}/${newname}"
    1.34 +    cpt=$((cpt+inc))
    1.35 +done