瀏覽代碼

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 <vapier@google.com>
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Mike Frysinger 5 年之前
父節點
當前提交
f725e548db
共有 2 個文件被更改,包括 15 次插入1 次删除
  1. 2 0
      docs/internal-fs-layout.md
  2. 13 1
      subcmds/upload.py

+ 2 - 0
docs/internal-fs-layout.md

@@ -195,6 +195,7 @@ The `[branch]` settings are updated by `repo start` and `git branch`.
 | review.\<url\>.autoupload     | upload        | Automatically answer "yes" or "no" to all prompts |
 | review.\<url\>.uploadhashtags | upload        | Automatically add to `--hashtag=<value>` |
 | review.\<url\>.uploadlabels   | upload        | Automatically add to `--label=<value>` |
+| review.\<url\>.uploadnotify   | upload        | [Notify setting][upload-notify] to use |
 | review.\<url\>.uploadtopic    | upload        | Default [topic] to use |
 | review.\<url\>.username       | upload        | Override username with `ssh://` review URIs |
 | remote.\<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

+ 13 - 1
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,