Support delete

Bug: 278860852
Test: repo_review.py -g ... --delete "..."
Change-Id: Ib986cdf0d99b5cd29e3abf8b2e282d1e586a478d
diff --git a/tools/repo_pull/gerrit.py b/tools/repo_pull/gerrit.py
index 5cc3f8a..c93461d 100755
--- a/tools/repo_pull/gerrit.py
+++ b/tools/repo_pull/gerrit.py
@@ -495,6 +495,14 @@
     return _make_json_post_request(url_opener, url, {})
 
 
+def delete(url_opener, gerrit_url, change_id):
+    """Delete a change list."""
+
+    url = '{}/a/changes/{}'.format(gerrit_url, change_id)
+
+    return _make_json_post_request(url_opener, url, {}, method='DELETE')
+
+
 def set_topic(url_opener, gerrit_url, change_id, name):
     """Set the topic name."""
 
diff --git a/tools/repo_pull/repo_review.py b/tools/repo_pull/repo_review.py
index d0d6f58..c431ac8 100755
--- a/tools/repo_pull/repo_review.py
+++ b/tools/repo_pull/repo_review.py
@@ -32,7 +32,7 @@
 
 from gerrit import (
     abandon, add_common_parse_args, add_reviewers, create_url_opener_from_args,
-    delete_reviewer, delete_topic, find_gerrit_name, normalize_gerrit_name,
+    delete, delete_reviewer, delete_topic, find_gerrit_name, normalize_gerrit_name,
     query_change_lists, restore, set_hashtags, set_review, set_topic, submit
 )
 
@@ -96,6 +96,7 @@
 
     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('--delete', action='store_true', help='Delete a CL')
 
     parser.add_argument('--add-hashtag', action='append', help='Add hashtag')
     parser.add_argument('--remove-hashtag', action='append',
@@ -126,6 +127,8 @@
         return True
     if args.restore:
         return True
+    if args.delete:
+        return True
     if args.add_hashtag or args.remove_hashtag:
         return True
     if args.set_topic or args.delete_topic:
@@ -196,7 +199,7 @@
     if not _has_task(args):
         print('error: Either --label, --message, --submit, --abandon, --restore, '
               '--add-hashtag, --remove-hashtag, --set-topic, --delete-topic, '
-              '--add-reviewer or --delete-reviewer must be specified',
+              '--add-reviewer, --delete-reviewer or --delete must be specified',
               file=sys.stderr)
         sys.exit(1)
 
@@ -247,6 +250,9 @@
         if args.restore:
             _do_task(change, restore, url_opener, args.gerrit, change['id'],
                      errors=errors)
+        if args.delete:
+            _do_task(change, delete, 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)