]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/buildhistory: make a single commit per build
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Thu, 1 Jun 2017 01:42:25 +0000 (13:42 +1200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 3 Jun 2017 22:43:27 +0000 (23:43 +0100)
Way back in OE-Core commit fba198ac7efe476a25c5761878ef2fcee97bf9f1 in
2012 we split committing to the repository, making a commit per
top-level directory. However, as we add more information it becomes
harder to see which commits belong to which build. Switch back to a
single commit per build to keep the history tidier.

To address the original concern, if you do want to see just the changes
for a particular subdirectory, git can filter that for you - just
specify that subdirectory as the last parameter on the git show / git
diff command line and that's all you will see.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/buildhistory.bbclass

index f543bb73d680ba47f3181b408f58af2e9f2e72a5..3e907fc3f98b002a4f3742065ab191004b505366 100644 (file)
@@ -706,10 +706,10 @@ def buildhistory_get_cmdline(d):
 buildhistory_single_commit() {
        if [ "$3" = "" ] ; then
                commitopts="${BUILDHISTORY_DIR}/ --allow-empty"
-               item="No changes"
+               shortlogprefix="No changes: "
        else
-               commitopts="$3 metadata-revs"
-               item="$3"
+               commitopts=""
+               shortlogprefix=""
        fi
        if [ "${BUILDHISTORY_BUILD_FAILURES}" = "0" ] ; then
                result="succeeded"
@@ -726,7 +726,7 @@ buildhistory_single_commit() {
        esac
        commitmsgfile=`mktemp`
        cat > $commitmsgfile << END
-$item: Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $2
+${shortlogprefix}Build ${BUILDNAME} of ${DISTRO} ${DISTRO_VERSION} for machine ${MACHINE} on $2
 
 cmd: $1
 
@@ -770,9 +770,7 @@ END
                        git add -A .
                        # 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
-                               buildhistory_single_commit "$CMDLINE" "$HOSTNAME" "$entry"
-                       done
+                       buildhistory_single_commit "$CMDLINE" "$HOSTNAME" dummy
                        git gc --auto --quiet
                else
                        buildhistory_single_commit "$CMDLINE" "$HOSTNAME"