Add 'create tag' support to gerrit_client and gerrit recipe_module.
BUG=1052179
R=dpranke@google.com, linxinan@chromium.org
Change-Id: I6e220b70e63d990e9257d9fe4d107de7dbd2eb81
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3232849
Auto-Submit: Michael Moss <mmoss@chromium.org>
Commit-Queue: Michael Moss <mmoss@chromium.org>
Reviewed-by: Xinan Lin <linxinan@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
diff --git a/gerrit_client.py b/gerrit_client.py
index e83a49a..07b6c0e 100755
--- a/gerrit_client.py
+++ b/gerrit_client.py
@@ -101,6 +101,26 @@
@subcommand.usage('[args ...]')
+def CMDtag(parser, args):
+ """Create a tag in a gerrit project."""
+ parser.add_option('--tag', dest='tag', help='tag name')
+ parser.add_option('--commit', dest='commit', help='commit hash')
+
+ (opt, args) = parser.parse_args(args)
+ assert opt.project, "--project not defined"
+ assert opt.tag, "--tag not defined"
+ assert opt.commit, "--commit not defined"
+
+ project = quote_plus(opt.project)
+ host = urlparse.urlparse(opt.host).netloc
+ tag = quote_plus(opt.tag)
+ commit = quote_plus(opt.commit)
+ result = gerrit_util.CreateGerritTag(host, project, tag, commit)
+ logging.info(result)
+ write_result(result, opt)
+
+
+@subcommand.usage('[args ...]')
def CMDhead(parser, args):
"""Update which branch the project HEAD points to."""
parser.add_option('--branch', dest='branch', help='branch name')