SCRIPTS: mk-patch-list: produce a list of patches
There does not seem to be a convenient way to tell git-show-backports to produce individual patches with numbers. That's what this script does by calling git-format-patch for each specified commit ID, letting git do all the painful work (formatting etc). This has been mostly used during backport sessions but was apparently never committed!
This commit is contained in:
parent
0d2ebb53f7
commit
57c5ae10f6
|
@ -0,0 +1,47 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
die() {
|
||||||
|
[ "$#" -eq 0 ] || echo "$*" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
err() {
|
||||||
|
echo "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
quit() {
|
||||||
|
[ "$#" -eq 0 ] || echo "$*"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
#### Main
|
||||||
|
|
||||||
|
USAGE="Usage: ${0##*/} [-o <output_dir>] [-s <start_num>] [-b <base>] commit_id..."
|
||||||
|
OUTPUT=
|
||||||
|
BASE=
|
||||||
|
NUM=
|
||||||
|
|
||||||
|
while [ -n "$1" -a -z "${1##-*}" ]; do
|
||||||
|
case "$1" in
|
||||||
|
-b) BASE="$2" ; shift 2 ;;
|
||||||
|
-o) OUTPUT="$2" ; shift 2 ;;
|
||||||
|
-s) NUM="$2" ; shift 2 ;;
|
||||||
|
-h|--help) quit "$USAGE" ;;
|
||||||
|
*) die "$USAGE" ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
PATCHES=( "$@" )
|
||||||
|
NUM=${NUM:-1}
|
||||||
|
|
||||||
|
for p in ${PATCHES[@]}; do
|
||||||
|
if [ -n "$BASE" ]; then
|
||||||
|
# find the patch number from the base.
|
||||||
|
# E.g. v2.9-dev0-774-gd710dfbac
|
||||||
|
NUM=$(git describe --match "$BASE" "$p")
|
||||||
|
NUM=${NUM#"$BASE"-}
|
||||||
|
NUM=${NUM%-*}
|
||||||
|
fi
|
||||||
|
git format-patch -k -1 --start-number=$NUM ${OUTPUT:+-o $OUTPUT} "$p"
|
||||||
|
((NUM++))
|
||||||
|
done
|
Loading…
Reference in New Issue