Parsing the output of git show is error prone, since it changes based on the type of issue with bad comit IDs. Since the output is no longer used in the case of a valid ref, we can switch to git-cat-file and simply check the return code.
Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Bruce Ashfield <[email protected]> --- meta/classes/kernel-yocto.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 6c9242770407..38c886b21b09 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -321,8 +321,8 @@ do_validate_branches() { fi fi - ref=`git show ${machine_srcrev} 2>&1 | head -n1 || true` - if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then + git cat-file -t ${machine_srcrev} > /dev/null + if [ if $? -ne 0 ]; then echo "ERROR ${machine_srcrev} is not a valid commit ID." echo "The kernel source tree may be out of sync" exit 1 @@ -358,8 +358,8 @@ do_validate_branches() { git show-ref --quiet --verify -- "refs/heads/${KMETA}" if [ $? -eq 0 ] && [ "${target_meta_head}" != "AUTOINC" ]; then if [ "$meta_head" != "$target_meta_head" ]; then - ref=`git show ${target_meta_head} 2>&1 | head -n1 || true` - if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then + git cat-file -t ${target_meta_head} > /dev/null + if [ $? -ne 0 ]; then echo "ERROR ${target_meta_head} is not a valid commit ID" echo "The kernel source tree may be out of sync" exit 1 -- 1.8.1.2 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
