diff options
-rwxr-xr-x | tools/patch-renumber.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/patch-renumber.sh b/tools/patch-renumber.sh new file mode 100755 index 0000000..f46c064 --- /dev/null +++ b/tools/patch-renumber.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# Yes, this intends to be a true POSIX script file. + +myname="$0" + +doUsage() { + cat <<_EOF_ +Usage: ${myname} <dir> <base> <inc> + Will renumber all patches found in <dir>, starting at <base>, and with + an increment of <inc> + Eg.: patch-renumber patches/gcc/4.3.1 100 10 +_EOF_ +} + +[ $# -eq 3 ] || { doUsage; exit 1; } +[ -d "${1}" ] || { doUsage; exit 1; } + +dir="${1}" +cpt="${2}" +inc="${3}" + +case $(LC_ALL=C svnversion 2>/dev/null) in + exported) CMD="mv -v";; + *) CMD="svn mv";; +esac + +for p in "${dir}"/*.patch; do + [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; } + newname="$(printf "%03d" ${cpt})-$(basename "${p}" |sed -r -e 's/^[[:digit:]]{3}-//')" + [ "${p}" = "${dir}/${newname}" ] || ${CMD} "${p}" "${dir}/${newname}" + cpt=$((cpt+inc)) +done |