summaryrefslogtreecommitdiff
path: root/util/release
diff options
context:
space:
mode:
Diffstat (limited to 'util/release')
-rwxr-xr-xutil/release/abandon_untouched_patches36
1 files changed, 36 insertions, 0 deletions
diff --git a/util/release/abandon_untouched_patches b/util/release/abandon_untouched_patches
new file mode 100755
index 0000000000..46fad76fa2
--- /dev/null
+++ b/util/release/abandon_untouched_patches
@@ -0,0 +1,36 @@
+#!/usr/bin/bash
+
+GERRIT_USER=$1
+
+QUERY_AGE="age:1year"
+MESSAGE_AGE="a year"
+
+if [[ -z "${GERRIT_USER}" || "${GERRIT_USER}" = "-h" || "${GERRIT_USER}" = "--help" ]]; then
+ echo "Usage: $0 <Gerrit username>"
+ exit 0
+fi
+
+if ! command -v jq >/dev/null 2>&1; then
+ echo "Error. Please install the package 'jq' before continuing."
+ exit 1
+fi
+
+gerrit_cmd() {
+ ssh -p 29418 "${GERRIT_USER}@review.coreboot.org" gerrit "$@"
+}
+
+abandon_patch() {
+ local patch=$1
+ message="\'\"This patch has not been touched in over ${MESSAGE_AGE}. Anyone who wants to take over work on this patch, please feel free to restore it and do any work needed to get it merged. If you create a new patch based on this work, please credit the original author.\"\'"
+
+ echo "Abandoning ${patch}"
+ gerrit_cmd review --project coreboot --abandon --message "${message}" "${patch}"
+}
+
+get_patchlist() {
+ gerrit_cmd query --format=JSON --no-limit --current-patch-set "repo:coreboot AND status:open AND ${QUERY_AGE}" | \
+ jq -Mr '.currentPatchSet.revision' | \
+ grep -v null
+}
+
+for patch in $(get_patchlist); do abandon_patch "${patch}"; done