![](https://seccdn.libravatar.org/avatar/de8c88161ae794e7c4cea97dfc71340c.jpg?s=120&d=mm&r=g)
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 <bphilips@suse.de> --- 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 <bphilips@suse.de> + +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