diff options
author | Guido Günther <agx@sigxcpu.org> | 2017-01-06 12:18:53 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2017-01-06 12:44:34 +0100 |
commit | ede603e73a49eca2af2460c0a300a5cfdf83a785 (patch) | |
tree | f3bfa6b218be2f2a18530ef962e9d3476bd23d53 | |
parent | 30e49dd1e332ce005b0d3cd977186753bf2c3b06 (diff) |
GitRepository: properly use pipe on empty strings
So far we've been avoiding a pipe for input on empty strings. This would
make commands as 'git mktree' hang forever waiting for standard input.
So use a proper pipe on '' and skip it only for None.
Closes: #850319
-rw-r--r-- | gbp/git/repository.py | 2 | ||||
-rw-r--r-- | tests/doctests/test_GitRepository.py | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/gbp/git/repository.py b/gbp/git/repository.py index fec53fcb..a39fea1f 100644 --- a/gbp/git/repository.py +++ b/gbp/git/repository.py @@ -171,7 +171,7 @@ class GitRepository(object): cmd = ['git', command] + args env = cls.__build_env(extra_env) stderr_arg = subprocess.PIPE if capture_stderr else None - stdin_arg = subprocess.PIPE if input else None + stdin_arg = subprocess.PIPE if input is not None else None log.debug(cmd) popen = subprocess.Popen(cmd, diff --git a/tests/doctests/test_GitRepository.py b/tests/doctests/test_GitRepository.py index 5bc1709c..348c5602 100644 --- a/tests/doctests/test_GitRepository.py +++ b/tests/doctests/test_GitRepository.py @@ -914,6 +914,8 @@ def test_make_tree(): '745951810c9e22fcc6de9b23f05efd6ab5512123' >>> repo.list_tree(newtree, recurse=False, paths='testfile') [['100644', 'blob', '19af7398c894bc5e86e17259317e4db519e9241f', 'testfile']] + >>> repo.make_tree([]) + '4b825dc642cb6eb9a060e54bf8d69288fbee4904' """ |