skia2/tools/abandon_gerrit_cls.py

57 lines
1.4 KiB
Python
Raw Normal View History

#!/usr/bin/env python
#
# Copyright 2020 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Bulk abandon Gerrit CLs."""
import argparse
import os
import re
import subprocess
import sys
from infra import git
from infra import go
def run_abandon_cls(args):
"""Bulk abandon Gerrit CLs."""
go.mod_download()
go.install(go.INFRA_GO+'/scripts/abandon_gerrit_cls')
subprocess.check_call([
'abandon_gerrit_cls',
'--gerrit_instance', args.gerrit_instance,
'--abandon_reason', args.abandon_reason,
'--last_modified_before_days', str(args.last_modified_before_days),
])
def main():
# TODO(rmistry): Instead of attempting to keep these args in sync, defer to
# abandon_gerrit_cls for argument parsing.
d = 'Helper script for bulk abandoning gerrit CLs'
parser = argparse.ArgumentParser(description=d)
parser.add_argument(
'--gerrit-instance', '-g', default='https://skia-review.googlesource.com',
help='Name of the gerrit instance.')
parser.add_argument(
'--abandon-reason', '-a', default='',
help='Will be used as reason for abandoning.')
parser.add_argument(
'--last-modified-before-days', '-l', default=0,
help='If 3 is specified then all CLs that were modified after 3 days ago '
'will be returned.')
args = parser.parse_args()
go.check()
run_abandon_cls(args)
if __name__ == '__main__':
main()