scripts/patch-renumber.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Dec 15 18:09:22 2008 +0000 (2008-12-15)
changeset 1099 e1a5096d432b
parent 756 tools/patch-renumber.sh@63d3f428f302
child 1175 417b32da90bf
permissions -rwxr-xr-x
Move patch-renumber.sh from tools/ to scripts/
     1 #!/bin/sh
     2 # Yes, this intends to be a true POSIX script file.
     3 
     4 myname="$0"
     5 
     6 doUsage() {
     7   cat <<_EOF_
     8 Usage: ${myname} <dir> <base> <inc>
     9     Will renumber all patches found in <dir>, starting at <base>, and with
    10     an increment of <inc>
    11     Eg.: patch-renumber patches/gcc/4.3.1 100 10
    12 _EOF_
    13 }
    14 
    15 [ $# -eq 3 ] || { doUsage; exit 1; }
    16 [ -d "${1}" ] || { doUsage; exit 1; }
    17 
    18 dir="${1}"
    19 cpt="${2}"
    20 inc="${3}"
    21 
    22 case $(LC_ALL=C svnversion 2>/dev/null) in
    23     exported)   CMD="mv -v";;
    24     *)          CMD="svn mv";;
    25 esac
    26 
    27 for p in "${dir}"/*.patch; do
    28     [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; }
    29     newname="$(printf "%03d" ${cpt})-$(basename "${p}" |sed -r -e 's/^[[:digit:]]{3}-//')"
    30     [ "${p}" = "${dir}/${newname}" ] || ${CMD} "${p}" "${dir}/${newname}"
    31     cpt=$((cpt+inc))
    32 done