You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.4 KiB
57 lines
1.4 KiB
#!/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()
|