aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Borkmann <daniel@iogearbox.net>2022-10-24 15:26:17 +0200
committerDaniel Borkmann <daniel@iogearbox.net>2022-10-24 15:26:17 +0200
commit8f9e1c9fbaf09be94c7d370bae1fa5a9f94e9b11 (patch)
tree1e4ac4b20ef11b478be820e271d53ba8fb3b3379
parent7083f4de55045d0a96094b6ba59a8e6f162747e1 (diff)
downloadpw-8f9e1c9fbaf09be94c7d370bae1fa5a9f94e9b11.tar.gz
pw-request-pull: make signing 3 step process
See REAME wrt workflow. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-rw-r--r--README14
-rwxr-xr-xpw-request-pull22
2 files changed, 31 insertions, 5 deletions
diff --git a/README b/README
index 376dea5..b749349 100644
--- a/README
+++ b/README
@@ -329,7 +329,19 @@ For bpf & bpf-next tree dirs:
Git signing/pushing/deleting tags for PR:
- $ pw-request-pull -t bpf-next -S
+ For BPF trees, it's a 3 step process:
+
+ 1) Create and push the signed tag to the tree:
+
+ $ pw-request-pull -t bpf-next -S -c
+
+ 2) Create the pull-request template:
+
+ $ pw-request-pull -t bpf-next -S
+
+ 3) After merge, remove the signed tag from tree:
+
+ $ pw-request-pull -t bpf-next -S -d
Manual steps would look like:
diff --git a/pw-request-pull b/pw-request-pull
index 9c69787..d75b9ac 100755
--- a/pw-request-pull
+++ b/pw-request-pull
@@ -6,7 +6,7 @@
usage()
{
cat <<-EOF
- usage: pw-request-pull [-h] [-t TREE] [-s SINCE_COMMIT] [-S]
+ usage: pw-request-pull [-h] [-t TREE] [-s SINCE_COMMIT] [-S] [-c] [-d]
EOF
exit
}
@@ -15,12 +15,16 @@ remote=""
since=""
sign=""
tree=""
+create=""
+delete=""
today=$(date +%Y-%m-%d)
while true; do
case "$1" in
-s | --since ) since="$2"; shift 2 ;;
-S | --sign ) sign="for-netdev"; shift ;;
+ -c | --tag-create ) create="true"; shift ;;
+ -d | --tag-delete ) delete="true"; shift ;;
-t | --tree ) tree="$2"; shift 2 ;;
-h | --help ) usage; break ;;
* ) break ;;
@@ -47,9 +51,19 @@ thanks=$(git log --no-merges $since...HEAD --format="%b" | awk '$1 ~ /Reported-b
file="pr-$tree-$today.patch"
tag=""
if [ ! -z "$sign" ]; then
- git tag -s $sign -m "$tree-$sign"
- git verify-tag $sign
- git push origin $sign
+ if [ ! -z "$create" ]; then
+ git tag -s $sign -m "$tree-$sign"
+ git verify-tag $sign
+ git push origin $sign
+ echo "Signed tag $sign pushed to $tree!"
+ exit
+ fi
+ if [ ! -z "$delete" ]; then
+ git push --delete origin $sign
+ git tag -d $sign
+ echo "Signed tag $sign removed from $tree!"
+ exit
+ fi
tag="tags/$sign"
fi
git request-pull $since ${remote[1]} $sign > $file