The "usage" text should explain it all. I found, in my quilt series handling endeavours, that I wanted to be able to shift the prefix numbers of a patch series. v2: Use heredoc for usage string, fix second example, use mv -i (Jani) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> --- frob-patch-rank | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 frob-patch-rank diff --git a/frob-patch-rank b/frob-patch-rank new file mode 100755 index 0000000..797774e --- /dev/null +++ b/frob-patch-rank @@ -0,0 +1,51 @@ +#!/bin/sh +set -e + +script=$(basename $0) + +read -r -d '' usage << EOU || true +Usage: $script start end expr + + Frob patches." + + This tiny script renames \"git format-patch\" patches by executing 'expr' + on the number that prefix the patch file, but only if the patch file name + starts with a number in ['start','end']. + +Examples: + $ ls *patch + 0008-Super-patch.patch + 0009-Mega-patch.patch + $ $script 8 9 -7 + $ ls *patch + 0001-Super-patch.patch + 0002-Mega-patch.patch + + $ ls *patch + 0117-Super-patch.patch + 0118-Mega-patch.patch + $ $script 117 118 +900 -17 + $ ls *patch + 1000-Super-patch.patch + 1001-Mega-patch.patch +EOU + +[ $# -ge 3 ] || { + echo "$usage" + exit 1 +} + +start=$1 +end=$2 +shift 2 +op=$* + +for i in $(seq $start $end); do + prefix=$(printf "%04d" $i) + for f in $(ls $prefix-*.patch); do + base=${f#$prefix-} + ((n=$i $op)) + new_prefix=$(printf "%04d" $n) + mv -i $prefix-$base $new_prefix-$base + done +done -- 1.8.3.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx