From: Ralf Jung Date: Sun, 15 Sep 2013 14:00:55 +0000 (+0200) Subject: git: suppress stderr when switching branches X-Git-Url: https://git.ralfj.de/mass-build.git/commitdiff_plain/dc2032ac2419823fcf377fb7b1c07201fb899c68?hp=b8fb01b798441403be79fb586f2ece3a5578214e git: suppress stderr when switching branches --- diff --git a/vcs.py b/vcs.py index c1068fb..1494478 100644 --- a/vcs.py +++ b/vcs.py @@ -32,9 +32,9 @@ def get_non_digit_prefix(val): class GitCommand: def __getattr__(self, name): - def call(*args, split = True): + def call(*args, suppress_stderr = False, split = True): cmd = ["git", name.replace('_', '-')] + list(args) - with subprocess.Popen(cmd, stdout=subprocess.PIPE) as p: + 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)) @@ -73,10 +73,10 @@ class Git: # create/find correct branch if not git.branch("--list", branchname): # the branch does not yet exit git.branch(branchname, self.commit) - if isBranch: # make sure we track remote branch + 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) + git.checkout(branchname, suppress_stderr=True) if mode == MODE_RESET: git.reset("--hard", self.commit) else: