Merge "repo-review: Add a 'restore' command line option"

This commit is contained in:
Yo Chiang
2021-04-29 05:11:23 +00:00
committed by Gerrit Code Review
2 changed files with 16 additions and 2 deletions

View File

@@ -257,6 +257,14 @@ def abandon(url_opener, gerrit_url, change_id, message):
return _make_json_post_request(url_opener, url, data)
def restore(url_opener, gerrit_url, change_id):
"""Restore a change list."""
url = '{}/a/changes/{}/restore'.format(gerrit_url, change_id)
return _make_json_post_request(url_opener, url, {})
def set_topic(url_opener, gerrit_url, change_id, name):
"""Set the topic name."""

View File

@@ -32,7 +32,7 @@ except ImportError:
from gerrit import (
abandon, add_reviewers, create_url_opener_from_args, delete_reviewer,
delete_topic, find_gerrit_name, query_change_lists, set_hashtags,
delete_topic, find_gerrit_name, query_change_lists, restore, set_hashtags,
set_review, set_topic, submit
)
@@ -103,6 +103,7 @@ def _parse_args():
parser.add_argument('--submit', action='store_true', help='Submit a CL')
parser.add_argument('--abandon', help='Abandon a CL with a message')
parser.add_argument('--restore', action='store_true', help='Restore a CL')
parser.add_argument('--add-hashtag', action='append', help='Add hashtag')
parser.add_argument('--remove-hashtag', action='append',
@@ -131,6 +132,8 @@ def _has_task(args):
return True
if args.abandon is not None:
return True
if args.restore:
return True
if args.add_hashtag or args.remove_hashtag:
return True
if args.set_topic or args.delete_topic:
@@ -197,7 +200,7 @@ def main():
sys.exit(1)
if not _has_task(args):
print('error: Either --label, --message, --submit, --abandon, '
print('error: Either --label, --message, --submit, --abandon, --restore, '
'--add-hashtag, --remove-hashtag, --set-topic, --delete-topic, '
'--add-reviewer or --delete-reviewer must be specified',
file=sys.stderr)
@@ -247,6 +250,9 @@ def main():
if args.abandon:
_do_task(change, abandon, url_opener, args.gerrit, change['id'],
args.abandon, errors=errors)
if args.restore:
_do_task(change, restore, url_opener, args.gerrit, change['id'],
errors=errors)
if args.add_reviewer:
_do_task(change, add_reviewers, url_opener, args.gerrit,
change['id'], new_reviewers, errors=errors)