summaryrefslogtreecommitdiff
path: root/morphlib/git.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-10-31 10:20:24 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2014-10-31 10:20:24 +0000
commitac9e6787cd2b82bc37b9ba71d09d44aac71f85b1 (patch)
tree06a810349471e1a025dd398eff6361af35f80633 /morphlib/git.py
parent242e16e592da6ef0bb3b8f36ba5ce3eb01c0c1ba (diff)
parent426526c692fecd520b1946f362e148d043c61441 (diff)
downloadmorph-ac9e6787cd2b82bc37b9ba71d09d44aac71f85b1.tar.gz
Merge remote-tracking branch 'origin/sam/transfer-status'
Reviewed-By: Richard Ipsum <richard.ipsum@codethink.co.uk> Reviewed-By: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
Diffstat (limited to 'morphlib/git.py')
-rw-r--r--morphlib/git.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/morphlib/git.py b/morphlib/git.py
index d897de3b..70222acb 100644
--- a/morphlib/git.py
+++ b/morphlib/git.py
@@ -22,6 +22,7 @@ import os
import re
import string
import StringIO
+import sys
import time
@@ -333,6 +334,16 @@ def gitcmd(runcmd, *args, **kwargs):
# is enough to say what it contains, so we turn it off by setting
# the right flag in an environment variable.
kwargs['env']['GIT_NO_REPLACE_OBJECTS'] = '1'
+
cmdline = ['git']
+
+ echo_stderr = kwargs.pop('echo_stderr', False)
+ if echo_stderr:
+ if 'stderr' not in kwargs:
+ # Ensure status output is visible. Git will hide it if stderr is
+ # redirected somewhere else (the --progress flag overrides this
+ # behaviour for the 'clone' command, but not others).
+ kwargs['stderr'] = sys.stderr
+
cmdline.extend(args)
return runcmd(cmdline, **kwargs)