]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/metadata_scm: fix git errors showing up on non-git repositories
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Mon, 9 Nov 2015 14:40:08 +0000 (14:40 +0000)
committerRobert Yang <liezhi.yang@windriver.com>
Mon, 28 Dec 2015 07:03:15 +0000 (23:03 -0800)
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
3aac11076e22ac4fea48f5404110bb959547a9fe).

Fixes [YOCTO #8661].

(From OE-Core master 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>
meta/classes/metadata_scm.bbclass

index 64465faa4c89f52b2ce4738ae0c94dd758f9c7ea..0f7f4235a34b31fc86449dbb9097b0b26bfa3342 100644 (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()