summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-04 12:09:54 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-04 12:09:54 (GMT)
commit87f4c2c63b67e689e702c03d79dc03da09ab5f80 (patch)
treeb7166a9a58c8816bbfab91215b38449878b56682
parent379ea09dbacbe4535cd40fede2eb93c588cfbb1e (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(+)
-rwxr-xr-xtools/patch-renumber.sh32
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