diff options
-rw-r--r-- | git/cmd.py | 4 | ||||
-rw-r--r-- | git/test/test_git.py | 4 |
2 files changed, 5 insertions, 3 deletions
@@ -885,7 +885,7 @@ class Git(LazyMixin): if len(name) == 1: if value is True: return ["-%s" % name] - elif type(value) is not bool: + elif value not in (False, None): if split_single_char_options: return ["-%s" % name, "%s" % value] else: @@ -893,7 +893,7 @@ class Git(LazyMixin): else: if value is True: return ["--%s" % dashify(name)] - elif type(value) is not bool: + elif value not in (False, None): return ["--%s=%s" % (dashify(name), value)] return [] diff --git a/git/test/test_git.py b/git/test/test_git.py index cc931239..30a6a335 100644 --- a/git/test/test_git.py +++ b/git/test/test_git.py @@ -82,13 +82,15 @@ class TestGit(TestBase): def test_it_transforms_kwargs_into_git_command_arguments(self): assert_equal(["-s"], self.git.transform_kwargs(**{'s': True})) assert_equal(["-s", "5"], self.git.transform_kwargs(**{'s': 5})) + assert_equal([], self.git.transform_kwargs(**{'s': None})) assert_equal(["--max-count"], self.git.transform_kwargs(**{'max_count': True})) assert_equal(["--max-count=5"], self.git.transform_kwargs(**{'max_count': 5})) + assert_equal([], self.git.transform_kwargs(**{'max_count': None})) # Multiple args are supported by using lists/tuples assert_equal(["-L", "1-3", "-L", "12-18"], self.git.transform_kwargs(**{'L': ('1-3', '12-18')})) - assert_equal(["-C", "-C"], self.git.transform_kwargs(**{'C': [True, True]})) + assert_equal(["-C", "-C"], self.git.transform_kwargs(**{'C': [True, True, None, False]})) # order is undefined res = self.git.transform_kwargs(**{'s': True, 't': True}) |