gerrit-review: Fix batch commands
When doing batch commands (eg. via a query), gerrit requires all dependencies to be satisfied before submit. So do a first pass with code-review/verified, then a second pass with submit/abandon.
This commit is contained in:
parent
baccb948cc
commit
bf9a57fd0a
|
@ -76,16 +76,10 @@ def gerrit_change_props(host, queryarg, id):
|
||||||
props = json.loads(lines[0])
|
props = json.loads(lines[0])
|
||||||
return props
|
return props
|
||||||
|
|
||||||
def gerrit_review(host, id):
|
def gerrit_review(host, ids, args):
|
||||||
argv = ['ssh', host, 'gerrit', 'review', id]
|
argv = ['ssh', host, 'gerrit', 'review']
|
||||||
if cfg['abandon']:
|
argv.extend(ids)
|
||||||
argv.append('--abandon')
|
argv.extend(args)
|
||||||
if cfg['code-review']:
|
|
||||||
argv.extend(['--code-review', cfg['code-review']])
|
|
||||||
if cfg['verify']:
|
|
||||||
argv.extend(['--verified', cfg['verify']])
|
|
||||||
if cfg['submit']:
|
|
||||||
argv.append('--submit')
|
|
||||||
verbose("exec: %s\n" % (' '.join(argv)))
|
verbose("exec: %s\n" % (' '.join(argv)))
|
||||||
if not cfg['nodo']:
|
if not cfg['nodo']:
|
||||||
child = subprocess.Popen(argv, stdin=None, stdout=None, stderr=None)
|
child = subprocess.Popen(argv, stdin=None, stdout=None, stderr=None)
|
||||||
|
@ -140,7 +134,13 @@ if len(argv) < 2:
|
||||||
|
|
||||||
host = argv.pop(0)
|
host = argv.pop(0)
|
||||||
|
|
||||||
if not (cfg['abandon'] or cfg['code-review'] or cfg['verify'] or cfg['submit']):
|
if cfg['abandon']:
|
||||||
|
if cfg['code-review'] or cfg['verify'] or cfg['submit']:
|
||||||
|
print "Error: Cannot combine abandon with other actions"
|
||||||
|
print ""
|
||||||
|
usage()
|
||||||
|
else:
|
||||||
|
if not (cfg['code-review'] or cfg['verify'] or cfg['submit']):
|
||||||
print "Error: No actions specified"
|
print "Error: No actions specified"
|
||||||
print ""
|
print ""
|
||||||
usage()
|
usage()
|
||||||
|
@ -193,5 +193,20 @@ else:
|
||||||
print "Internal Error: Unhandled argument type."
|
print "Internal Error: Unhandled argument type."
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
for change in changes:
|
# Handle code-review and verified
|
||||||
gerrit_review(host, change)
|
if cfg['code-review'] or cfg['verify']:
|
||||||
|
args = []
|
||||||
|
if cfg['code-review']:
|
||||||
|
args.extend(['--code-review', cfg['code-review']])
|
||||||
|
if cfg['verify']:
|
||||||
|
args.extend(['--verified', cfg['verify']])
|
||||||
|
gerrit_review(host, changes, args)
|
||||||
|
|
||||||
|
# Handle submit and abandon
|
||||||
|
if cfg['submit'] or cfg['verify']:
|
||||||
|
args = []
|
||||||
|
if cfg['submit']:
|
||||||
|
args.append('--submit')
|
||||||
|
if cfg['abandon']:
|
||||||
|
args.append('--abandon')
|
||||||
|
gerrit_review(host, changes, args)
|
||||||
|
|
Loading…
Reference in New Issue