summaryrefslogtreecommitdiff
path: root/meta/classes/image-buildinfo.bbclass
diff options
context:
space:
mode:
authorAndré Draszik <adraszik@tycoint.com>2016-11-04 10:53:33 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-15 15:11:56 +0000
commitb46906889665f6ab72bccee608276646cda50140 (patch)
tree6b9a44a1bf2db4edcf8e83be9e2fec8e45d55ea2 /meta/classes/image-buildinfo.bbclass
parent006c4db0974c42ff0f6950dd24e61c008f801679 (diff)
downloadopenembedded-core-b46906889665f6ab72bccee608276646cda50140.tar.gz
openembedded-core-b46906889665f6ab72bccee608276646cda50140.tar.bz2
openembedded-core-b46906889665f6ab72bccee608276646cda50140.zip
image-buildinfo: treat staged changes as modified branch, too
When staging changes in a layer using git add, image-buildinfo doesn't detect this as a modification, because of the way it uses git diff. Surely, merely staging, but not committing changes to git should not result in image-buildhistory assuming that the git repository hasn't been modified compared to the branch HEAD, this state should be treated similarly to modifications being unstaged. We have to use both, git diff and git diff --cached to get the desired result. Signed-off-by: André Draszik <adraszik@tycoint.com> Reported-by: Lukasz Nowak <lnowak@tycoint.com> Reviewed-by: Lukasz Nowak <lnowak@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/classes/image-buildinfo.bbclass')
-rw-r--r--meta/classes/image-buildinfo.bbclass4
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/classes/image-buildinfo.bbclass b/meta/classes/image-buildinfo.bbclass
index 3003f5d256..da1edf7496 100644
--- a/meta/classes/image-buildinfo.bbclass
+++ b/meta/classes/image-buildinfo.bbclass
@@ -28,7 +28,9 @@ def image_buildinfo_outputvars(vars, listvars, d):
def get_layer_git_status(path):
import subprocess
try:
- subprocess.check_output("cd %s; PSEUDO_UNLOAD=1 git diff --quiet --no-ext-diff" % path,
+ subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
+ git diff --quiet --no-ext-diff
+ git diff --quiet --no-ext-diff --cached""" % path,
shell=True,
stderr=subprocess.STDOUT)
return ""