blob: 46fad76fa27481c9a16fe834f8e0d7fcd4eca610 [file] [log] [blame]
Martin Roth11bd9172023-08-21 14:57:07 -06001#!/usr/bin/bash
2
3GERRIT_USER=$1
4
5QUERY_AGE="age:1year"
6MESSAGE_AGE="a year"
7
8if [[ -z "${GERRIT_USER}" || "${GERRIT_USER}" = "-h" || "${GERRIT_USER}" = "--help" ]]; then
9 echo "Usage: $0 <Gerrit username>"
10 exit 0
11fi
12
13if ! command -v jq >/dev/null 2>&1; then
14 echo "Error. Please install the package 'jq' before continuing."
15 exit 1
16fi
17
18gerrit_cmd() {
19 ssh -p 29418 "${GERRIT_USER}@review.coreboot.org" gerrit "$@"
20}
21
22abandon_patch() {
23 local patch=$1
24 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.\"\'"
25
26 echo "Abandoning ${patch}"
27 gerrit_cmd review --project coreboot --abandon --message "${message}" "${patch}"
28}
29
30get_patchlist() {
31 gerrit_cmd query --format=JSON --no-limit --current-patch-set "repo:coreboot AND status:open AND ${QUERY_AGE}" | \
32 jq -Mr '.currentPatchSet.revision' | \
33 grep -v null
34}
35
36for patch in $(get_patchlist); do abandon_patch "${patch}"; done