Skip to contentSkip to conversation

buildhistory: improve git commit robustness

PATCH Applied Paul Eggleton 2 participants 3 messages Dec 30, 2011 – Jan 4, 2012

lore
Share & tools
lore
#0 lore raw

cover buildhistory: improve git commit robustness

The following change since commit 8f348ccad083d6c02c200652ff6295e701e88f0d:

coreutils: ensure --color works so DEPEND on libcap (2011-12-24 10:05:35 +0000)

is available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/buildhistory-fix2
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/buildhistory-fix2

Paul Eggleton (1):
buildhistory: improve git commit robustness

 meta/classes/buildhistory.bbclass |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)
Signature · 1 line
1.7.5.4
#1 lore raw

PATCH 1/1 buildhistory: improve git commit robustness

* Check if BUILDHISTORY_DIR exists before doing anything with it, in case no tasks that would have created it have executed
* Ensure the git repo in BUILDHISTORY_DIR is initialised with "git init" before attempting to do anything with it
* Check if any files have been added or changed before adding and committing, to avoid an error from "git commit"

---
 meta/classes/buildhistory.bbclass |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)
meta/classes/buildhistory.bbclass +17 -4
index 39f5ff6..afd0fb5 100644
@@ -339,11 +339,24 @@ def buildhistory_get_layers(d):
 
 
 buildhistory_commit() {
+	if [ ! -d ${BUILDHISTORY_DIR} ] ; then
+		# Code above that creates this dir never executed, so there can't be anything to commit
+		exit
+	fi
+
 	( cd ${BUILDHISTORY_DIR}/
-		git add ${BUILDHISTORY_DIR}/*
-		git commit ${BUILDHISTORY_DIR}/ -m "Build ${BUILDNAME} for machine ${MACHINE} configured for ${DISTRO} ${DISTRO_VERSION}" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
-		if [ "${BUILDHISTORY_PUSH_REPO}" != "" ] ; then
-			git push -q ${BUILDHISTORY_PUSH_REPO}
+		# Initialise the repo if necessary
+		if [ ! -d .git ] ; then
+			git init -q
+		fi
+		# Ensure there are new/changed files to commit
+		repostatus=`git status --porcelain`
+		if [ "$repostatus" != "" ] ; then
+			git add ${BUILDHISTORY_DIR}/*
+			git commit ${BUILDHISTORY_DIR}/ -m "Build ${BUILDNAME} for machine ${MACHINE} configured for ${DISTRO} ${DISTRO_VERSION}" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
+			if [ "${BUILDHISTORY_PUSH_REPO}" != "" ] ; then
+				git push -q ${BUILDHISTORY_PUSH_REPO}
+			fi
 		fi) || true
 }
 
Signature · 1 line
1.7.5.4
Applied
#2 lore raw
In reply to Paul Eggleton
Quoted 8 lines · Paul Eggleton

The following change since commit 8f348ccad083d6c02c200652ff6295e701e88f0d:

coreutils: ensure --color works so DEPEND on libcap (2011-12-24 10:05:35 +0000)

is available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/buildhistory-fix2
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/buildhistory-fix2

Quoted 6 lines

Paul Eggleton (1):
buildhistory: improve git commit robustness

  meta/classes/buildhistory.bbclass |   21 +++++++++++++++++----
  1 files changed, 17 insertions(+), 4 deletions(-)

Merged into OE-Core

Thanks
Sau!