diff --git a/git_cl.py b/git_cl.py index 95a70f3d4..00bedb47a 100755 --- a/git_cl.py +++ b/git_cl.py @@ -1571,6 +1571,8 @@ class Changelist(object): refspec_opts.append('notify=ALL') elif (not self.GetIssue() and options.squash and not dogfood_path): refspec_opts.append('wip') + else: + refspec_opts.append('notify=NONE') # TODO(tandrii): options.message should be posted as a comment if # --send-mail or --send-email is set on non-initial upload as Rietveld used diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py index 38a707347..7cbbeba34 100755 --- a/tests/git_cl_test.py +++ b/tests/git_cl_test.py @@ -861,13 +861,16 @@ class TestGitCl(unittest.TestCase): metrics_arguments = [] - ref_suffix_list = [] if notify: - ref_suffix_list.append('ready,notify=ALL') + ref_suffix = '%ready,notify=ALL' metrics_arguments += ['ready', 'notify=ALL'] - elif not issue and squash: - ref_suffix_list.append('wip') - metrics_arguments.append('wip') + else: + if not issue and squash: + ref_suffix = '%wip' + metrics_arguments.append('wip') + else: + ref_suffix = '%notify=NONE' + metrics_arguments.append('notify=NONE') # If issue is given, then description is fetched from Gerrit instead. if not title: @@ -881,22 +884,22 @@ class TestGitCl(unittest.TestCase): ] title = 'User input' if title: - ref_suffix_list.append('m=' + gerrit_util.PercentEncodeForGitRef(title)) + ref_suffix += ',m=' + gerrit_util.PercentEncodeForGitRef(title) metrics_arguments.append('m') for k, v in sorted((labels or {}).items()): - ref_suffix_list.append('l=%s+%d' % (k, v)) + ref_suffix += ',l=%s+%d' % (k, v) metrics_arguments.append('l=%s+%d' % (k, v)) if short_hostname == 'chromium': # All reviewers and ccs get into ref_suffix. for r in sorted(reviewers): - ref_suffix_list.append('r=' + r) + ref_suffix += ',r=%s' % r metrics_arguments.append('r') if issue is None: cc += ['test-more-cc@chromium.org', 'joe@example.com'] for c in sorted(cc): - ref_suffix_list.append('cc=' + c) + ref_suffix += ',cc=%s' % c metrics_arguments.append('cc') reviewers, cc = [], [] else: @@ -912,20 +915,17 @@ class TestGitCl(unittest.TestCase): ] for r in sorted(reviewers): if r != 'bad-account-or-email': - ref_suffix_list.append('r=' + r) + ref_suffix += ',r=%s' % r metrics_arguments.append('r') reviewers.remove(r) if issue is None: cc += ['joe@example.com'] for c in sorted(cc): - ref_suffix_list.append('cc=' + c) + ref_suffix += ',cc=%s' % c metrics_arguments.append('cc') if c in cc: cc.remove(c) - ref_suffix = '' - if ref_suffix_list: - ref_suffix = '%' + ','.join(ref_suffix_list) calls += [ ( ('time.time', ), @@ -1564,9 +1564,11 @@ class TestGitCl(unittest.TestCase): # Asserts mockCherryPickCommit.assert_called_once_with(options, upstream_gerrit_commit) - expected_refspec = ('commit-to-push:refs/for/refs/heads/main%' + expected_refspec = ('commit-to-push:refs/for/refs/heads/main%notify=NONE,' 'm=honk_stonk,topic=circus,hashtag=cow') - expected_refspec_opts = ['m=honk_stonk', 'topic=circus', 'hashtag=cow'] + expected_refspec_opts = [ + 'notify=NONE', 'm=honk_stonk', 'topic=circus', 'hashtag=cow' + ] mockRunGitPush.assert_called_once_with(expected_refspec, expected_refspec_opts, mock.ANY, options.push_options) @@ -1654,9 +1656,9 @@ class TestGitCl(unittest.TestCase): end_commit=None) ]) - expected_refspec = ('commit-to-push:refs/for/refs/heads/main%' + expected_refspec = ('commit-to-push:refs/for/refs/heads/main%notify=NONE,' 'topic=circus,hashtag=cow') - expected_refspec_opts = ['topic=circus', 'hashtag=cow'] + expected_refspec_opts = ['notify=NONE', 'topic=circus', 'hashtag=cow'] mockRunGitPush.assert_called_once_with(expected_refspec, expected_refspec_opts, mock.ANY, options.push_options) @@ -1736,9 +1738,11 @@ class TestGitCl(unittest.TestCase): options, 'external-commit', 'external-commit', end_commit=None) ]) - expected_refspec = ('commit-to-push:refs/for/refs/heads/main%' + expected_refspec = ('commit-to-push:refs/for/refs/heads/main%notify=NONE,' 'm=honk_stonk,topic=circus,hashtag=cow') - expected_refspec_opts = ['m=honk_stonk', 'topic=circus', 'hashtag=cow'] + expected_refspec_opts = [ + 'notify=NONE', 'm=honk_stonk', 'topic=circus', 'hashtag=cow' + ] mockRunGitPush.assert_called_once_with(expected_refspec, expected_refspec_opts, mock.ANY, options.push_options)