From 84685ba1875db265051cdd043d5dba768c7c42e5 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 19 Feb 2020 02:22:22 -0500 Subject: upload: add support for setting hashtags This allows users to specify custom hashtags when uploading, both via the CLI and via the same gitconfig settings as other upload options. Bug: https://crbug.com/gerrit/11174 Change-Id: Ia0959e25b463e5f29d704e4d06e0de793d4fc77c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255855 Reviewed-by: David Pursehouse Tested-by: Mike Frysinger --- subcmds/upload.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'subcmds/upload.py') diff --git a/subcmds/upload.py b/subcmds/upload.py index 91bec6f8..633ddc81 100644 --- a/subcmds/upload.py +++ b/subcmds/upload.py @@ -130,6 +130,12 @@ is set to "true" then repo will assume you always want the equivalent of the -t option to the repo command. If unset or set to "false" then repo will make use of only the command line option. +review.URL.uploadhashtags: + +To add hashtags whenever uploading a commit, you can set a per-project +or global Git option to do so. The value of review.URL.uploadhashtags +will be used as comma delimited hashtags like the --hashtags option. + # References Gerrit Code Review: https://www.gerritcodereview.com/ @@ -140,6 +146,9 @@ Gerrit Code Review: https://www.gerritcodereview.com/ p.add_option('-t', dest='auto_topic', action='store_true', help='Send local branch name to Gerrit Code Review') + p.add_option('--hashtag', '--ht', + dest='hashtags', action='append', default=[], + help='Add hashtags (comma delimited) to the review.') p.add_option('--re', '--reviewers', type='string', action='append', dest='reviewers', help='Request reviews from these people.') @@ -384,6 +393,20 @@ Gerrit Code Review: https://www.gerritcodereview.com/ key = 'review.%s.uploadtopic' % branch.project.remote.review opt.auto_topic = branch.project.config.GetBoolean(key) + # Check if hashtags should be included. + def _ExpandHashtag(value): + """Split |value| up into comma delimited tags.""" + if not value: + return + for tag in value.split(','): + tag = tag.strip() + if tag: + yield tag + key = 'review.%s.uploadhashtags' % branch.project.remote.review + hashtags = set(_ExpandHashtag(branch.project.config.GetString(key))) + for tag in opt.hashtags: + hashtags.update(_ExpandHashtag(tag)) + destination = opt.dest_branch or branch.project.dest_branch # Make sure our local branch is not setup to track a different remote branch @@ -401,6 +424,7 @@ Gerrit Code Review: https://www.gerritcodereview.com/ branch.UploadForReview(people, auto_topic=opt.auto_topic, + hashtags=hashtags, draft=opt.draft, private=opt.private, notify=None if opt.notify else 'NONE', -- cgit v1.2.3-54-g00ecf