[linux-yocto] [PATCH 00/24] [linux-yocto-3.10] [Scenerio 1] Enable feature branch for Valley Island features

Ong, Boon Leong boon.leong.ong at intel.com
Fri May 23 03:48:32 PDT 2014


> > >> So however you got a merge conflict. Your tree wasn't up to date.
> > >>
> > > I do not encounter any merge conflicts, is just that the branches is
> > > not
> > merging. By checking my build, I notice that the valleyisland-io-1.0
> > branch has the same HEAD of standard/base (which means I don't see any
> > I/O patches there in the feature branch that fetched by bitbake). This
> > means that source tree I'm fetching during build time is not updated
> > yet. Is there any occurrence that the new check-ins need some time to
> reflect to end users?
> >
> > It could be a fetcher problem, since the branches are definitely not the
> same.
> >
> > yow-bashfiel-d3 [/home/bruc....git-merge]> git describe standard/base
> > v3.10.38-2595-g02f7e63e56c0
> > yow-bashfiel-d3 [/home/bruc....git-merge]> git describe
> > valleyisland-io-1.0
> > v3.10.38-2618-g8ea4fb625f26

Hi both,
	I did some research onto the do_validate_branches logic and realize
the reason why we are not seeing the correct commit that we want to have
at valleyisland-io feature branch in the build folder. 

Basically, the logic below is force any branch not having the HEAD as the machine branch
to be downgraded, i.e. valleyisland-io branch HEAD which is ahead of standard/base, is 
forced to be the same as the HEAD of standard/base after the following logic:

 ==========================================================================

**** target_branch_head is the standard/base SCRREV (set as HEAD) commit  *****

        containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'`
        if [ -z "$containing_branches" ]; then
                echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches"
                echo "       contain this commit"
                exit 1
        fi

****  after this logic, valleyisland-io will be listed under containing_branch because
          the patchset is applied ontop of standard/base HEAD ******
 
        # force the SRCREV in each branch that contains the specified
        # SRCREV (if it isn't the current HEAD of that branch)
        git checkout -q master
        for b in $containing_branches; do
                branch_head=`git show-ref -s --heads ${b}`
                if [ "$branch_head" != "$target_branch_head" ]; then
                        echo "[INFO] Setting branch $b to ${target_branch_head}"
                        if [ "$b" = "master" ]; then
                                git reset --hard $target_branch_head > /dev/null
                        else
                                git branch -D $b > /dev/null
                                git branch $b $target_branch_head > /dev/null
                        fi
                fi
        done

**** The above logic force any branch listed in containing_branches (which valleyisland-io branch is in)
         not having the same commit as KBRANCH to be downgraded to the be the same as
         KBRANCH SRCREV commit  ****
==========================================================================

The output of the do_validate_branch is as follow and confirmed the behavior.

DEBUG: Executing shell function do_validate_branches
[INFO] Setting branch standard/arm-versatile-926ejs to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/axxia/base to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/beagleboard to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/ck to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/edf to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/fsl-mpc8315e-rdb to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/mti-malta32 to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/mti-malta64 to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/ocf to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/preempt-rt/base to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/preempt-rt/fri2 to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/preempt-rt/minnow to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/preempt-rt/qemuppc to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/preempt-rt/routerstationpro to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/qemuppc to 02f7e63e56c061617957388c23bd5cf9b05c5388
[INFO] Setting branch standard/routerstationpro to 02f7e63e56c061617957388c23bd5cf9b05c5388
****[INFO] Setting branch valleyisland-io-1.0 to 02f7e63e56c061617957388c23bd5cf9b05c5388****
DEBUG: Shell function do_validate_branches finished
 
Bruce, how do we resolve this? What is the practice in linux-yocto on feature branch?
Do you know think that having all patches on standard/base is a more correct approach?

We plan to release meta-valleyisland out together with other YP1.6 meta-intel release targeting
next week. 
Appreciate your timely response here, so that we can adjust accordingly based on your merge strategy and
eventually send in the last commit update for meta-valleyisland linux-yocto_3.10.bbapend. 

Many thanks! 




More information about the linux-yocto mailing list