blob: 5d03430d1e2db4be937f6a0d6efd6dc5e271ff8f [file] [log] [blame]
Ravi Mistry1b7f8462020-03-11 14:25:49 -04001#!/usr/bin/env python
2#
3# Copyright 2020 Google Inc.
4#
5# Use of this source code is governed by a BSD-style license that can be
6# found in the LICENSE file.
7
8
9"""Bulk abandon Gerrit CLs."""
10
11
12import argparse
13import os
14import re
15import subprocess
16import sys
17
18from infra import git
19from infra import go
20
21
22def run_abandon_cls(args):
23 """Bulk abandon Gerrit CLs."""
24 go.mod_download()
25 go.install(go.INFRA_GO+'/scripts/abandon_gerrit_cls')
26 subprocess.check_call([
27 'abandon_gerrit_cls',
28 '--gerrit_instance', args.gerrit_instance,
29 '--abandon_reason', args.abandon_reason,
30 '--last_modified_before_days', str(args.last_modified_before_days),
31 ])
32
33
34def main():
35 # TODO(rmistry): Instead of attempting to keep these args in sync, defer to
36 # abandon_gerrit_cls for argument parsing.
37 d = 'Helper script for bulk abandoning gerrit CLs'
38 parser = argparse.ArgumentParser(description=d)
39 parser.add_argument(
40 '--gerrit-instance', '-g', default='https://skia-review.googlesource.com',
41 help='Name of the gerrit instance.')
42 parser.add_argument(
43 '--abandon-reason', '-a', default='',
44 help='Will be used as reason for abandoning.')
45 parser.add_argument(
46 '--last-modified-before-days', '-l', default=0,
47 help='If 3 is specified then all CLs that were modified after 3 days ago '
48 'will be returned.')
49 args = parser.parse_args()
50
51 go.check()
52 run_abandon_cls(args)
53
54
55if __name__ == '__main__':
56 main()