gerrit: add command line support for hashtags
Allows gerrit commandline tool to add / remove hashtags for a change.
For example:
gerrit sethashtags 456123 a b ~c ~d
Above command will add hashtags 'a', 'b' and remove hashtags 'c', 'd'
for change 456123.
BUG=None
TEST=manual
Change-Id: I576f76e917e095b8eedf1c9c551cb0d22506c0d1
Reviewed-on: https://chromium-review.googlesource.com/439780
Commit-Ready: Wei-Han Chen <stimim@chromium.org>
Tested-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/scripts/gerrit.py b/scripts/gerrit.py
index 6147ae4..e7f4578 100644
--- a/scripts/gerrit.py
+++ b/scripts/gerrit.py
@@ -407,6 +407,20 @@
helper.SetTopic(arg, topic, dryrun=opts.dryrun)
+def UserActSethashtags(opts, cl, *args):
+ """Add/remove hashtags for CL <n> (prepend with '~' to remove)"""
+ hashtags = args
+ add = []
+ remove = []
+ for hashtag in hashtags:
+ if hashtag.startswith('~'):
+ remove.append(hashtag[1:])
+ else:
+ add.append(hashtag)
+ helper, cl = GetGerrit(opts, cl)
+ helper.SetHashtags(cl, add, remove, dryrun=opts.dryrun)
+
+
def UserActDeletedraft(opts, *args):
"""Delete draft CL <n> [n ...]"""
for arg in args: