From f725e548db17281037d794f18aab3320d2580865 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 14 Mar 2020 17:39:03 -0400 Subject: [PATCH] upload: add config setting for upload notifications This allows people to set default e-mail notifications via gitconfig. Bug: https://crbug.com/gerrit/12451 Change-Id: Ic04ea3b7df0c5603c491961112c5be8cabb9dddd Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/259014 Tested-by: Mike Frysinger Reviewed-by: David Pursehouse --- docs/internal-fs-layout.md | 2 ++ subcmds/upload.py | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/internal-fs-layout.md b/docs/internal-fs-layout.md index 530252b..b06e898 100644 --- a/docs/internal-fs-layout.md +++ b/docs/internal-fs-layout.md @@ -195,6 +195,7 @@ The `[branch]` settings are updated by `repo start` and `git branch`. | review.\.autoupload | upload | Automatically answer "yes" or "no" to all prompts | | review.\.uploadhashtags | upload | Automatically add to `--hashtag=` | | review.\.uploadlabels | upload | Automatically add to `--label=` | +| review.\.uploadnotify | upload | [Notify setting][upload-notify] to use | | review.\.uploadtopic | upload | Default [topic] to use | | review.\.username | upload | Override username with `ssh://` review URIs | | remote.\.fetch | sync | Set of refs to fetch | @@ -227,3 +228,4 @@ Repo will create & maintain a few files in the user's home directory. [manifest-format.md]: ./manifest-format.md [local manifests]: ./manifest-format.md#Local-Manifests [topic]: https://gerrit-review.googlesource.com/Documentation/intro-user.html#topics +[upload-notify]: https://gerrit-review.googlesource.com/Documentation/user-upload.html#notify diff --git a/subcmds/upload.py b/subcmds/upload.py index 9c4337d..cf3c8a9 100644 --- a/subcmds/upload.py +++ b/subcmds/upload.py @@ -142,6 +142,11 @@ To add labels whenever uploading a commit, you can set a per-project or global Git option to do so. The value of review.URL.uploadlabels will be used as comma delimited labels like the --label option. +review.URL.uploadnotify: + +Control e-mail notifications when uploading. +https://gerrit-review.googlesource.com/Documentation/user-upload.html#notify + # References Gerrit Code Review: https://www.gerritcodereview.com/ @@ -445,6 +450,13 @@ Gerrit Code Review: https://www.gerritcodereview.com/ 'like CodeReview+1 or Verified-1' % (label,), file=sys.stderr) sys.exit(1) + # Handle e-mail notifications. + if opt.notify is False: + notify = 'NONE' + else: + key = 'review.%s.uploadnotify' % branch.project.remote.review + notify = branch.project.config.GetString(key) + destination = opt.dest_branch or branch.project.dest_branch # Make sure our local branch is not setup to track a different remote branch @@ -466,7 +478,7 @@ Gerrit Code Review: https://www.gerritcodereview.com/ hashtags=hashtags, labels=labels, private=opt.private, - notify=None if opt.notify else 'NONE', + notify=notify, wip=opt.wip, dest_branch=destination, validate_certs=opt.validate_certs,