| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e54cd8f commit f2df73b
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -388,15 +388,18 @@ def execute(self, command, | |||
| 388 | 388 | else: | |
| 389 | 389 | return stdout_value | |
| 390 | 390 | ||
| 391 | - def transform_kwargs(self, **kwargs): | ||
| 391 | + def transform_kwargs(self, split_single_char_options=False, **kwargs): | ||
| 392 | 392 | """Transforms Python style kwargs into git command line options.""" | |
| 393 | 393 | args = list() | |
| 394 | 394 | for k, v in kwargs.items(): | |
| 395 | 395 | if len(k) == 1: | |
| 396 | 396 | if v is True: | |
| 397 | 397 | args.append("-%s" % k) | |
| 398 | 398 | elif type(v) is not bool: | |
| 399 | - args.append("-%s%s" % (k, v)) | ||
| 399 | + if split_single_char_options: | ||
| 400 | + args.extend(["-%s" % k, "%s" % v]) | ||
| 401 | + else: | ||
| 402 | + args.append("-%s%s" % (k, v)) | ||
| 400 | 403 | else: | |
| 401 | 404 | if v is True: | |
| 402 | 405 | args.append("--%s" % dashify(k)) | |
@@ -431,7 +434,8 @@ def __call__(self, **kwargs): | |||
| 431 | 434 | ||
| 432 | 435 | ``Examples``:: | |
| 433 | 436 | git(work_tree='/tmp').difftool()""" | |
| 434 | - self._git_options = self.transform_kwargs(**kwargs) | ||
| 437 | + self._git_options = self.transform_kwargs( | ||
| 438 | + split_single_char_options=True, **kwargs) | ||
| 435 | 439 | return self | |
| 436 | 440 | ||
| 437 | 441 | def _call_process(self, method, *args, **kwargs): | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -107,3 +107,15 @@ def test_cmd_override(self): | |||
| 107 | 107 | finally: | |
| 108 | 108 | type(self.git).GIT_PYTHON_GIT_EXECUTABLE = prev_cmd | |
| 109 | 109 | #END undo adjustment | |
| 110 | + | ||
| 111 | + def test_options_are_passed_to_git(self): | ||
| 112 | + # This work because any command after git --version is ignored | ||
| 113 | + git_version = self.git(version=True).NoOp() | ||
| 114 | + git_command_version = self.git.version() | ||
| 115 | + self.assertEquals(git_version, git_command_version) | ||
| 116 | + | ||
| 117 | + def test_single_char_git_options_are_passed_to_git(self): | ||
| 118 | + input_value='TestValue' | ||
| 119 | + output_value = self.git(c='user.name={}'.format(input_value)).config('--get', 'user.name') | ||
| 120 | + self.assertEquals(input_value, output_value) | ||
| 121 | + | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments