classes/metadata_scm: fix git errors showing up on non-git repositories

Fixes the following error showing up for layers that aren't a git repo
(or aren't parented by one):

fatal: Not a git repository (or any of the parent directories): .git

This was because we weren't intercepting stderr. We might as well just
use bb.process.run() here which does that and returns stdout and stderr
separately.

(This was a regression that came in with OE-Core revision
3aac11076e).

Fixes [YOCTO #8661].

(From OE-Core rev: f533c1bf4c6edbecc67f9e2c62fd475d64668e86)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2015-11-09 14:40:08 +00:00 committed by Richard Purdie
parent 59b27d558f
commit 43c8867b63
1 changed files with 10 additions and 10 deletions

View File

@ -65,19 +65,19 @@ def base_get_metadata_svn_revision(path, d):
return revision
def base_get_metadata_git_branch(path, d):
import subprocess
import bb.process
try:
return subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"],
cwd=path).strip()
except:
return "<unknown>"
rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path)
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()
def base_get_metadata_git_revision(path, d):
import subprocess
import bb.process
try:
return subprocess.check_output(["git", "rev-parse", "HEAD"],
cwd=path).strip()
except:
return "<unknown>"
rev, _ = bb.process.run('git rev-parse HEAD', cwd=path)
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()