diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-08-04 12:09:54 (GMT) |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-08-04 12:09:54 (GMT) |
commit | 87f4c2c63b67e689e702c03d79dc03da09ab5f80 (patch) | |
tree | b7166a9a58c8816bbfab91215b38449878b56682 /tools/patch-renumber.sh | |
parent | 379ea09dbacbe4535cd40fede2eb93c588cfbb1e (diff) |
Add a new tool to renumber a patch directory.
Eases maintenance when old patches are removed, or new patches added.
/trunk/tools/patch-renumber.sh | 32 32 0 0 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
Diffstat (limited to 'tools/patch-renumber.sh')
-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 |