summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2013-04-14 13:02:38 +0200
committerGuido Günther <agx@sigxcpu.org>2013-04-14 13:08:30 +0200
commitd0434af9e84142567050417a3a3736002bfb80c3 (patch)
tree3d768d19fc6b19b625f65adc2c4e127210acd10d
parented3978300355db00fefd14c03676b9effb1368c1 (diff)
Silence git init
to make the test suite less verbose
-rw-r--r--gbp/git/repository.py24
1 files changed, 19 insertions, 5 deletions
diff --git a/gbp/git/repository.py b/gbp/git/repository.py
index a120079..76d2e3f 100644
--- a/gbp/git/repository.py
+++ b/gbp/git/repository.py
@@ -72,7 +72,8 @@ class GitRepository(object):
raise GitRepositoryError("No Git repository at '%s'" % self.path)
self._check_bare()
- def __build_env(self, extra_env):
+ @classmethod
+ def __build_env(cls, extra_env):
"""Prepare environment for subprocess calls"""
env = None
if extra_env is not None:
@@ -131,11 +132,17 @@ class GitRepository(object):
"""
if not cwd:
cwd = self.path
+ return self.__git_inout(command, args, input, extra_env, cwd, capture_stderr)
+ @classmethod
+ def __git_inout(cls, command, args, input, extra_env, cwd, capture_stderr):
+ """
+ As _git_inout but can be used without an instance
+ """
+ cmd = ['git', command] + args
+ env = cls.__build_env(extra_env)
stderr_arg = subprocess.PIPE if capture_stderr else None
- env = self.__build_env(extra_env)
- cmd = ['git', command] + args
log.debug(cmd)
popen = subprocess.Popen(cmd,
stdin=subprocess.PIPE,
@@ -1553,9 +1560,16 @@ class GitRepository(object):
if not os.path.exists(abspath):
os.makedirs(abspath)
try:
- GitCommand("init", args.args, cwd=abspath)()
- except CommandExecFailed as excobj:
+ stdout, stderr, ret = klass.__git_inout(command='init',
+ args=args.args,
+ input=None,
+ extra_env=None,
+ cwd=abspath,
+ capture_stderr=True)
+ except Exception as excobj:
raise GitRepositoryError("Error running git init: %s" % excobj)
+ if ret:
+ raise GitRepositoryError("Error running git init: %s" % stderr)
if description:
with file(os.path.join(abspath, git_dir, "description"), 'w') as f: