[Openvpn-devel,v2] dev-tools: Add new script to convert mails to Gerrit patches
Commit Message
From: Frank Lichtenheld <frank@lichtenheld.com>
Also checks for some common issues.
Change-Id: I52773764e0f4056fe5367918a9b2e6720b165c21
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Razvan Cojocaru <razvanc@mailbox.org>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1585
---
This change was reviewed on Gerrit and approved by at least one
developer. I request to merge it to master.
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1585
This mail reflects revision 2 of this Change.
Acked-by according to Gerrit (reflected above):
Razvan Cojocaru <razvanc@mailbox.org>
new file mode 100755
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# Assertions:
+# - there is a remote called "gerrit" that can be used to
+# pushed to gerrit. Create it with
+# git remote add gerrit ssh://<yourgerritusername>@gerrit.openvpn.net:29418/openvpn.git
+# - the master branch does not contain pending commits, move them to branches
+#
+# Usage:
+# - Pipe mail to this script on stdin
+# - You can specify the target branch as the first argument to the script
+# if it is not master.
+
+set -eu
+
+TARGET_BRANCH=${1:-master}
+SOURCE_DIR=$(dirname $(readlink -e "${BASH_SOURCE[0]}"))
+TIMESTAMP=$(date +%Y%m%dT%H%M%S)
+
+git -C $SOURCE_DIR checkout $TARGET_BRANCH
+git -C $SOURCE_DIR checkout -B mail-submit-${TIMESTAMP}
+git -C $SOURCE_DIR am
+
+warnings=0
+if git -C $SOURCE_DIR log -n1 --format=%an | grep -q "via Openvpn-devel"; then
+ echo WARNING: Author contains \"via Openvpn-devel\"
+ echo Try to get an actual email-adress from the submitter!
+ warnings=$((warnings + 1))
+fi
+
+if ! git -C $SOURCE_DIR log -n1 --format=%b | grep -qi "signed-off-by:"; then
+ echo WARNING: Signed-off-by: line missing
+ echo Consider adding it.
+ warnings=$((warnings + 1))
+fi
+
+if [ "$warnings" -gt 0 ]; then
+ echo Please fix the $warnings warnings above before pushing.
+ echo Push the changes with git -C $SOURCE_DIR push gerrit HEAD:refs/for/$TARGET_BRANCH
+else
+ echo git -C $SOURCE_DIR push gerrit HEAD:refs/for/$TARGET_BRANCH
+fi