From 8e08efa4b567e58386247575ae28835841f484c0 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Wed, 25 Jan 2017 13:29:34 -0500 Subject: [PATCH] kern-tools: re-enable scc merge command The ability to merge two branches directly from a .scc file was dropped during the streamlining of the tools. As was pointed out by David Vincent , there is once again a valid use case for this functionality, so we restore the capability. Signed-off-by: Bruce Ashfield --- meta/classes/kernel-yocto.bbclass | 16 +++++++++++++++- meta/recipes-kernel/kern-tools/kern-tools-native_git.bb | 3 ++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index a60327a..eb35dce 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -148,7 +148,7 @@ do_kernel_metadata() { # run1: pull all the configuration fragments, no matter where they come from elements="`echo -n ${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES}`" if [ -n "${elements}" ]; then - scc --force -o ${S}/${meta_dir}:cfg,meta ${includes} ${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES} + scc --force -o ${S}/${meta_dir}:cfg,merge,meta ${includes} ${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES} if [ $? -ne 0 ]; then bbfatal_log "Could not generate configuration queue for ${KMACHINE}." fi @@ -165,6 +165,7 @@ do_kernel_metadata() { } do_patch() { + set +e cd ${S} check_git_config @@ -177,6 +178,19 @@ do_patch() { bbfatal_log "Patch failures can be resolved in the linux source directory ${S})" fi fi + + if [ -f "${meta_dir}/merge.queue" ]; then + # we need to merge all these branches + for b in $(cat ${meta_dir}/merge.queue); do + git show-ref --verify --quiet refs/heads/${b} + if [ $? -eq 0 ]; then + bbnote "Merging branch ${b}" + git merge -q --no-ff -m "Merge branch ${b}" ${b} + else + bbfatal "branch ${b} does not exist, cannot merge" + fi + done + fi } do_kernel_checkout() { diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 8af0155..aa27ec8 100644 --- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1b DEPENDS = "git-native" -SRCREV = "85564e69555b713c2759d58ec5ade54424d051d8" +SRCREV = "c14440d4e7ae0160c260ed65c3e123be5dc97ae8" + PR = "r12" PV = "0.2+git${SRCPV}" -- 2.7.4