On Tue, 17 Jun 2014, Damien Lespiau <damien.lespiau@xxxxxxxxx> wrote: > 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) > v3: Don't use a fancy read for usage() (Jani) > Collect the files to rename in a first pass, or the renaming process > can interfere with listing the next files to rename > > Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> > --- > frob-patch-rank | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100755 frob-patch-rank > > diff --git a/frob-patch-rank b/frob-patch-rank > new file mode 100755 > index 0000000..c791f8d > --- /dev/null > +++ b/frob-patch-rank > @@ -0,0 +1,59 @@ > +#!/bin/sh I think you have some bashisms in there, so could reflect that here, but otherwise LGTM. Jani. > +set -e > + > +script=$(basename $0) > + > +function usage() { > + cat << EOU > +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 ] || { > + usage > + exit 1 > +} > + > +start=$1 > +end=$2 > +shift 2 > +op=$* > + > +for i in $(seq $start $end); do > + prefix=$(printf "%04d" $i) > + files="$files $(ls $prefix-*.patch)" > +done > + > +for f in $files; do > + prefix=${f:0:4} > + base=${f#$prefix-} > + > + rank=$((10#$prefix)) # don't interpret the leading 0 as base 8 > + ((n=$rank $op)) > + > + new_prefix=$(printf "%04d" $n) > + mv $prefix-$base $new_prefix-$base > +done > -- > 1.8.3.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx