From d0434af9e84142567050417a3a3736002bfb80c3 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Sun, 14 Apr 2013 13:02:38 +0200 Subject: Silence git init to make the test suite less verbose --- gbp/git/repository.py | 24 +++++++++++++++++++----- 1 file 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: -- cgit v1.2.3