diff --git a/git_rebase_update.py b/git_rebase_update.py index 4e96c6989..f87f43b87 100755 --- a/git_rebase_update.py +++ b/git_rebase_update.py @@ -64,10 +64,8 @@ def fetch_remotes(branch_tree): if not fetch_args: # pragma: no cover print 'Nothing to fetch.' else: - out, err = git.run_with_stderr('fetch', *fetch_args) - for data, stream in zip((out, err), (sys.stdout, sys.stderr)): - if data: - print >> stream, data + git.run_with_stderr('fetch', *fetch_args, stdout=sys.stdout, + stderr=sys.stderr) def remove_empty_branches(branch_tree): diff --git a/testing_support/git_test_utils.py b/testing_support/git_test_utils.py index d4c0d8035..10e54f51b 100644 --- a/testing_support/git_test_utils.py +++ b/testing_support/git_test_utils.py @@ -14,8 +14,6 @@ import sys import tempfile import unittest -from cStringIO import StringIO - def git_hash_data(data, typ='blob'): """Calculate the git-style SHA1 for some data. @@ -395,13 +393,17 @@ class GitRepo(object): stdout = sys.stdout stderr = sys.stderr try: - sys.stdout = StringIO() - sys.stderr = StringIO() - try: - self.run(fn, *args, **kwargs) - except SystemExit: - pass - return sys.stdout.getvalue(), sys.stderr.getvalue() + # "multiple statements on a line" pylint: disable=C0321 + with tempfile.TemporaryFile() as out, tempfile.TemporaryFile() as err: + sys.stdout = out + sys.stderr = err + try: + self.run(fn, *args, **kwargs) + except SystemExit: + pass + out.seek(0) + err.seek(0) + return out.read(), err.read() finally: sys.stdout = stdout sys.stderr = stderr