diff --git a/git-review.1 b/git-review.1 index 73e40422..2e14ba29 100644 --- a/git-review.1 +++ b/git-review.1 @@ -228,6 +228,8 @@ This setting determines the default name of gerrit git repo This setting determines the default name to use for gerrit remote .It gitreview.branch This setting determines the default branch +.It gitreview.notopic +Set to true to never submit with a default topic .It gitreview.track Determines whether to prefer the currently-tracked branch (if any) and the branch against which the changeset was submitted to Gerrit diff --git a/git_review/cmd.py b/git_review/cmd.py index 19adfae2..4230892c 100644 --- a/git_review/cmd.py +++ b/git_review/cmd.py @@ -43,7 +43,7 @@ GLOBAL_CONFIG = "/etc/git-review/git-review.conf" USER_CONFIG = os.path.join(CONFIGDIR, "git-review.conf") DEFAULTS = dict(scheme='ssh', hostname=False, port=None, project=False, branch='master', remote="gerrit", rebase="1", - track="0", usepushurl="0") + track="0", usepushurl="0", notopic=False) COPYRIGHT = """\ Copyright (C) 2011-2020 OpenStack LLC. @@ -730,6 +730,7 @@ def load_config_file(config_file): 'remote': 'defaultremote', 'rebase': 'defaultrebase', 'track': 'track', + 'notopic': 'notopic', 'usepushurl': 'usepushurl', } config = {} @@ -1575,6 +1576,7 @@ review. parser.set_defaults(rebase=convert_bool(config['rebase']), track=convert_bool(config['track']), remote=None, + notopic=convert_bool(config['notopic']), usepushurl=convert_bool(config['usepushurl'])) options = parser.parse_args() diff --git a/git_review/tests/test_git_review.py b/git_review/tests/test_git_review.py index 8754428f..bc4658d4 100644 --- a/git_review/tests/test_git_review.py +++ b/git_review/tests/test_git_review.py @@ -403,6 +403,11 @@ class GitReviewTestCase(tests.BaseGitReviewTestCase): self._assert_branch_would_be('master%topic=zat', extra_args=['-t', 'zat']) + # -t takes precedence over notopic + self._run_git('config', 'gitreview.notopic', 'true') + self._assert_branch_would_be('master%topic=zat', + extra_args=['-t', 'zat']) + def test_git_review_T(self): self._run_git_review('-s') self._run_git('checkout', '-b', 'bug/456') @@ -410,6 +415,14 @@ class GitReviewTestCase(tests.BaseGitReviewTestCase): self._assert_branch_would_be('master%topic=bug/456') self._assert_branch_would_be('master', extra_args=['-T']) + self._run_git('config', 'gitreview.notopic', 'true') + self._assert_branch_would_be('master') + self._run_git('config', 'gitreview.notopic', 'false') + self._assert_branch_would_be('master%topic=bug/456') + + # -T takes precedence over notopic=false + self._assert_branch_would_be('master', extra_args=['-T']) + def test_git_review_T_t(self): self.assertRaises(Exception, self._run_git_review, '-T', '-t', 'taz') diff --git a/test-requirements.txt b/test-requirements.txt index 19da82ed..ad03fc16 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,5 +1,5 @@ hacking>=2.0.0,<2.1.0 mock fixtures>=0.3.14 -stestr>=2.2.0 +stestr>=2.2.0,<3.0.0 testtools>=0.9.34