From 1948a7fb45ffc56a537351c0f7bebb667bcc7d93 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Fri, 20 Sep 2013 15:46:56 +0200 Subject: [PATCH] Use subprocess.check_call --- vcs.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/vcs.py b/vcs.py index 7e6c1a3..2e7e818 100644 --- a/vcs.py +++ b/vcs.py @@ -32,14 +32,10 @@ def get_non_digit_prefix(val): class GitCommand: def __getattr__(self, name): - def call(*args, suppress_stderr = False): + def call(*args, get_stderr = False): cmd = ["git", name.replace('_', '-')] + list(args) - with subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE if suppress_stderr else None) as p: - (stdout, stderr) = p.communicate() - if p.returncode != 0: - raise Exception("Running %s returned non-zero exit code %d" % (str(cmd), p.returncode)) - stdout = stdout.decode('utf-8').strip('\n') - return stdout + output = subprocess.check_call(cmd, stderr=subprocess.STDOUT if get_stderr else None) + return output.decode('utf-8').strip('\n') return call git = GitCommand() @@ -76,7 +72,7 @@ class Git: if isBranch: # make sure we track the correct remote branch git.branch("-u", self.commit, branchname) # update it to the latest remote commit - git.checkout(branchname, suppress_stderr=True) + git.checkout(branchname, get_stderr=True) if mode == MODE_RESET: git.reset("--hard", self.commit) else: -- 2.30.2