[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