[U-Boot-Users] Please pull 85xx

Jerry Van Baren gerald.vanbaren at ge.com
Wed Jan 2 21:52:17 CET 2008


Wolfgang Denk wrote:
> Dear Rafal,
> 
> in message <477BD21F.7040205 at semihalf.com> you wrote:
>>> If your work depends on patches from another  repo,  please  ask  the
>>> custodian  of  this other repo to send a pull request, and ask him to
>>> mention in his pull request that this is urgent becasue  ...  depends
>>> on it.
>> I guess I'm still a bit confused about the process. So in case of inter-repo
>> dependencies, would you like something like the following?
> 
> I'm still trying to figure out myself how we could  come  up  with  a
> compromize of having clean and orthogonal custodian's repositories on
> one  side and a practical solution that is usable without introducing
> unnecessary delays on the other side.
> 
> Thanks for your patience with me.

As I see it, when we have this situation and need a fast stream into 
u-boot, we need to (and can) use branches effectively.  Using the late 
lamented situation where 85xx was dependent on fdt changes, ideally Andy 
and I do some coordinating.

1) I would put *just the patches that Andy needs* into my "master" 
branch, putting less urgent patches into a side branch (e.g. "testing").

2) Andy can then pull my "master" branch into his repository and add his 
Value Added[tm] patches on top of the minimum necessary u-boot-fdt 
patches. [1]

3) Andy and I clamor for Wolfgang to pull u-boot-fdt and then u-boot-85xx.

4-good) If Wolfgang approves of u-boot-fdt, half is well.  If Wolfgang 
approves u-boot-85xx, all is well.

4-bad) In a worst case scenario, Wolfgang requires changes to the 
u-boot-fdt patches.  I (or the responsible party) would reroll the 
u-boot-fdt patches and generate a new "master" branch with acceptable 
patches.  Andy would have to save his Value Added[tm] patches, do a "git 
reset --hard" back to the original ToT, re-pull my u-boot-fdt "master" 
branch, and then re-apply his Value Added[tm] patches (fixing breakages 
as needed).  Goto step 3).

This should be quite reasonable in practice, although it will take some 
coordination.  Even after the fact, we (me in the fdt/85xx example) can 
use git-rebase or (git reset --hard + re-apply patches) to put only the 
critical patches in "master" and move the non-critical patches to a side 
branch, e.g. "testing".

In the specific instance of u-boot-fdt + u-boot-85xx, we ended up in 
state 4-good) by luck, laziness, some flexibility from Wolfgang.  The 
luck part was the fact that, due to laziness on my part, all or nearly 
all of the changes in the u-boot-fdt tree were the critical set needed 
by Andy.  Wolfgang was flexible enough to pull my "testing" branch 
(rather than "master"), then Andy's 85xx patches, approve of both, and 
life was good.

HTH,
gvb

[1] If Andy were paranoid, he would...
a) Pull my "master" branch into a new branch in his repository, say 
"ubootfdt"
b) Create a new branch based on "ubootfdt", say "testing"
c) Apply his Value Added[tm] patches to "testing".
Once he is happy with the result in c), he would pull the "testing" 
changes into his "master" branch and continue on to step 3)

I don't see any major advantage of this, but it would be helpful for 
keeping the patches straight if branches needed to be discarded and 
recreated due to state 4-bad).




More information about the U-Boot mailing list