From a8591a094a768d73e6efb5a698f74d354c989291 Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Thu, 26 Jul 2018 20:25:46 -0400 Subject: [PATCH] Exclude kwarg when None --- git/cmd.py | 4 ++-- git/test/test_git.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/git/cmd.py b/git/cmd.py index 300284874..b6305176b 100644 --- a/git/cmd.py +++ b/git/cmd.py @@ -885,7 +885,7 @@ def transform_kwarg(self, name, value, split_single_char_options): 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 @@ def transform_kwarg(self, name, value, split_single_char_options): 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 cc931239f..30a6a335e 100644 --- a/git/test/test_git.py +++ b/git/test/test_git.py @@ -82,13 +82,15 @@ def test_it_raises_errors(self): 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})