[yocto] Understanding the git commits for Yocto and meta

Bruce Ashfield bruce.ashfield at gmail.com
Sat Jan 28 15:25:33 PST 2012


On Sat, Jan 28, 2012 at 9:51 AM, James Abernathy <jfabernathy at gmail.com> wrote:
> While I've read enough to think I understand git, I get confused when it's
> applied to real situations like Yocto.  If I look at the Yocto Development
> Manual, Appendix A, A.5.2.4 Changing Recipes-kernel, It brings up some
> questions.
>
> 1. The way I see it, when you guys commit something to the linux yocto
> master or meta there is a commit string associated with that commit.  Not to
> any certain branch of the git repository, right?

I'm not following your terminology. There's a git has that is used to
update the SRCREVs
for bitbake, but that hash is always on the meta branch. Bitbake likes
git hashes, but the
kernel build infrastructure talks branches .. since humans can
remember branches, but
not git hashes.

>
> 2.  So if I'm building an image for atom-pc using Edison branch, the first
> SRCREV I'm interested in is yocto/standard/common-pc/atom-pc branch.  But
> the commits I see at
>
>  http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=yocto/standard/common-pc/atom-pc
>
> are commits not associated with Edison, but Master, right?

They are all just commits on the board branch. edison has a snapshot
in time the SRCREV
that is used. Master marches on, but the commits that were current in
the timeframe of edison,
will always be there.

>
> 3.  How do I find the commit string for a particular branch, like Edison,
> for something like yocto/standard/common-pc/atom-pc?

I'm not following the terminology again. Maybe if you describe what
you are trying to
achieve ? git will tell you what branch has any commit .. just use git
branch --contains <hash>

>
> 4.  To me, branches are things like Edison, Bernard, etc.  But on the page:
>
> http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/refs/heads?h=yocto/standard/common-pc/atom-pc
>
> yocto/standard/common-pc/atom-pc, master, and meta are all listed as
> branches.  What is the difference??

edison and bernard are yocto branches. The kernel is a separate
repository and can actually be
used standalone (which I do). It has branches for it's meta data and
to isolate board changes.
A particular kernel repository is referenced by the yocto kernel
recipes. They are what follow the
yocto branches .. not the kernel itself.

>
> 5.  The second SRCREV seems to be associated with meta.  How does that
> relate to my whole confusion on branches.

A board build is composed of two things the meta data (configuration,
patches) that
describe the BSP and the actual code changes (the board branch).

>
> 6.  To me, if you are working with Edison and a particular BSP, then these 2
> commit strings should be constant forever, right?

Yes, for the official / known BSP. If you do local work, you can of
course have your
own tree and advance both.

Cheers,

Bruce

>
>
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



More information about the yocto mailing list