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

Jerry Van Baren
2007-01-26T13:38:33Z

Wolfgang Denk wrote:
> In message <27d85ee10701260031s5a67f074x3bee8c4590df97e1@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