classes/buildhistory: include metadata revisions in commit message

We do already commit these into the repository itself, but have them in
the commit message as well as a reference. As part of this, refactor out
running "git commit" into a separate function so we don't have to
duplicate the code in the two places we call it.

Implements [YOCTO #7966].

(From OE-Core rev: c77a068e534b274dee7fb8a2399ecafd33da0587)

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-08-26 10:54:17 +01:00 committed by Richard Purdie
parent 2a08f4a0e5
commit 734411a9e6
1 changed files with 23 additions and 2 deletions

View File

@ -585,6 +585,27 @@ def buildhistory_get_cmdline(d):
return '%s %s' % (bincmd, ' '.join(sys.argv[1:]))
buildhistory_single_commit() {
if [ "$3" = "" ] ; then
commitopts="${BUILDHISTORY_DIR}/ --allow-empty"
item="No changes"
else
commitopts="$3 metadata-revs"
item="$3"
fi
commitmsgfile=`mktemp`
cat > $commitmsgfile << END
$item: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $2
cmd: $1
metadata revisions:
END
cat ${BUILDHISTORY_DIR}/metadata-revs >> $commitmsgfile
git commit $commitopts -F $commitmsgfile --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
rm $commitmsgfile
}
buildhistory_commit() {
if [ ! -d ${BUILDHISTORY_DIR} ] ; then
# Code above that creates this dir never executed, so there can't be anything to commit
@ -623,11 +644,11 @@ END
# porcelain output looks like "?? packages/foo/bar"
# Ensure we commit metadata-revs with the first commit
for entry in `echo "$repostatus" | awk '{print $2}' | awk -F/ '{print $1}' | sort | uniq` ; do
git commit $entry metadata-revs -m "$entry: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" -m "cmd: $CMDLINE" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
buildhistory_single_commit "$CMDLINE" "$HOSTNAME" "$entry"
done
git gc --auto --quiet
else
git commit ${BUILDHISTORY_DIR}/ --allow-empty -m "No changes: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $HOSTNAME" -m "cmd: $CMDLINE" --author "${BUILDHISTORY_COMMIT_AUTHOR}" > /dev/null
buildhistory_single_commit "$CMDLINE" "$HOSTNAME"
fi
if [ "${BUILDHISTORY_PUSH_REPO}" != "" ] ; then
git push -q ${BUILDHISTORY_PUSH_REPO}