[U-Boot-Users] Changes to U-Boot Development Process

Jerry Van Baren gerald.vanbaren at smiths-aerospace.com
Fri Jan 26 14:38:33 CET 2007


Wolfgang Denk wrote:
> In message <27d85ee10701260031s5a67f074x3bee8c4590df97e1 at mail.gmail.com> you wrote:
>> So does custodian have permission to push his commit into the official
>> repository or the present maintainers are still responsible for
>> pulling all of the subpart trees regularly and integrate into upstream
>> repository?
> 
> The custodians will have their own repository, from where I will pull
> it into the official repo. But we  intend  to  host  the  custodian's
> repositories  (or  at least an automatically updated copy) all on the
> same server, so it will be possible for everyone to access this  code
> even if the merging in the official tree should get delayed.
> 
> At lest that's the current theory. We'll probably  learn  what  works
> bet when we are on that way.
> 
> Best regards,
> 
> Wolfgang Denk

My somewhat limited experience with git has been _very_ positive WRT 
pulling from multiple git sources to make a "mash-up" git.  The best 
case scenario I envision is that the feeder git repos maintain patches 
as individual branches.  This way, not only can denx.de (Wolfgang) pull 
patches individually into the master repo, but also I can make my own 
"mash-up" git is based on the master repo with my favorite/necessary 
patches pulled in as branches and merged into my working branch.

Git has tracking knowledge of changes, full genealogy of the sources. 
When a patch is accepted and pulled into the master repo, git recognizes 
that my local "mash-up" already has that patch and simply fast-forwards 
in my "mash-up" repo and says "my, that was easy."  At that point, the 
branches in the feeder repo and my "mash-up" repo can be deleted.

Cheap ASCII art

denx.de
   |   \ \__________
   |    \           \
   |    Feeder1 ... FeederN
   |    |   \  \___
   |    |   |      \
   |    | (Patch1) (Patch2)
   |    |
   |   /
   |  /
Mashup

Mashup Branches:
* denx          - tracks the master repo (or just use "origin")
* Feeder1       - branch tracking the feeder (one per feeder)
* MyPatch1      - my patch waiting to be pulled by a feeder
* working       - my test area, merges (locally pulls in) the
                     branches denx, Feeder1-Patch1, Feeder1-Patch2,
                     MyPatch1, etc.
* releaseXX     - branch for a release made up of appropriate
                     patches merged in (Q: should this be a branch
                     at all, one branch for all releases, or a
                     branch for each release?)
* ...others

Disclaimer: I have not actually done _all_ of the above, just pieces of 
it.  I could be full of BS and misunderstandings.  Any corrections and 
advice from Those With Real Experience[tm]?

Best regards,
gvb





More information about the U-Boot mailing list