usage: patch-tags-from-git <filename> <kernel checkout>
Adds a Git-commit: tag from the From header
also adds a Patch-mainline: tag if <kernel checkout> is given
Signed-off-by: Brandon Philips
---
scripts/patch-tags-from-git | 62 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 62 insertions(+), 0 deletions(-)
create mode 100755 scripts/patch-tags-from-git
diff --git a/scripts/patch-tags-from-git b/scripts/patch-tags-from-git
new file mode 100755
index 0000000..2277376
--- /dev/null
+++ b/scripts/patch-tags-from-git
@@ -0,0 +1,62 @@
+#!/bin/bash
+# Add suse Kernel repo headers to a patch created using git-format-patch
+#
+# Brandon Philips
+
+if [ $# -lt 1 ]; then
+ echo "usage: $0 <filename> <kernel checkout>"
+ echo "Adds a Git-commit: tag from the From header"
+ echo "also adds a Patch-mainline: tag if <kernel checkout> is given"
+ exit 1
+fi
+
+FILE=$1
+
+if [ ! -f $FILE ]; then
+ echo "No such file $1"
+ exit 2
+fi
+
+commit=$(head -n1 $FILE | sed -n "s%From\s\([0-9a-f]*\)\s.*%\1%p")
+
+if [ "z$commit" = "z" ]; then
+ echo "$FILE doesn't look like a patch from git"
+else
+ patch-tag -A git-commit="$commit" $FILE
+fi
+
+if [ $# -ne 2 ]; then
+ exit 0
+fi
+
+DIR=$2
+
+commit=$(patch-tag -p git-commit $FILE | grep -i "git-commit:" | sed "s%.*:\s\(.*\)%\1%g")
+
+if [ "z$commit" = "z" ]; then
+ echo "No git-commit tag in $FILE"
+ exit 3
+fi
+
+export GIT_DIR=$DIR/.git
+
+if [ ! -d $GIT_DIR ]; then
+ echo "No such directory $GIT_DIR"
+ echo 4
+fi
+
+mainline=$(git describe --contains $commit 2> /dev/null)
+
+if [ "z$mainline" = "z" ]; then
+ git show $commit > /dev/null
+ if git show $commit > /dev/null 2> /dev/null; then
+ merged=$(basename $DIR)
+ patch-tag -A Patch-mainline="Merged into $merged" $FILE
+ exit 0
+ else
+ echo "$commit from $FILE does not exist in $DIR"
+ exit 5
+ fi
+fi
+
+patch-tag -A Patch-mainline="$mainline" $FILE
--
1.7.2.2
--
To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-kernel+help@opensuse.org