1#!/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 37