[U-Boot] Pull request for u-boot-arm -> u-boot?

Stephen Warren swarren at wwwdotorg.org
Mon May 5 20:52:39 CEST 2014


On 05/05/2014 12:40 PM, Tom Rini wrote:
> On Mon, May 05, 2014 at 12:15:50PM -0600, Stephen Warren wrote:
>> On 05/05/2014 11:59 AM, Fabio Estevam wrote:
>>> On Mon, May 5, 2014 at 1:46 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>>>> Albert,
>>>>
>>>> I was wondering when the next pull request for u-boot-arm/master ->
>>>> u-boot/master was likely to be?
>>>>
>>>> I asked because some changes to the Tegra USB driver went through the
>>>> u-boot-tegra/master and hence are now in u-boot-arm/master, but not in
>>>> u-boot-usb/master. I have some more USB driver changes which rely on the
>>>> earlier USB patches, and these should really go through
>>>> u-boot-usb/master rather than the Tegra/ARM tree. For this to happen,
>>>> u-boot-usb/master needs to contain the patches currently in
>>>> u-boot-arm/master, and the best way for that to happen is for those
>>>> patches to get into u-boot/master so that u-boot-usb/master can merge them.
>>>>
>>>> Or, should Marek just merge u-boot-arm/master into his tree directly?
>>>
>>> Or should we have a 'u-boot-next' tree using the same concept as the
>>> kernel 'linux-next'?
>>
>> Having a u-boot-next won't solve this particular problem in any way.
>>
>> Having a u-boot-next allows any end-developer to develop on top of the
>> combined code in all trees, thus detecting/avoiding any conflicts with them.
>>
>> However, my issue above is that a patch that's already applied in tree A
>> needs to make its way into tree B, so that further patches can be
>> *applied* in tree B. This is all about applying patches, not developing
>> patches. The existence (or not) of a u-boot-next tree doesn't affect
>> this issue at all.
> 
> This is in fact a usual problem in Linux land where it seems like we
> have much more stringent rules on how things can go in.  So long as
> people can collect the needed acks, I'm fine pulling things that touch a
> few areas into master.

In Linux, cross-repo dependencies are often dealt with by:

a) If the dependency is known up-front: Create a branch based on a
recent mainline release, apply the few dependency patches there, then
merge this topic branch into multiple repos/branches as a baseline for
future work.

b) If the dependency is noticed later, then merge the source branch into
the destination branch when the dependencies show up. This ends up
pulling in more patches than you need/want into the merge target if the
merge source wasn't using topic branches, so isn't a great solution, and
isn't done too much.

In general, the situation we that caused me to start the thread is
avoided by disallowing patches for e.g. USB drivers to go through
anything but the USB tree, unless special arrangements are made to do
(a). (a) would allow the conflict to be resolved quickly in the relevant
subsystem trees rather than through Linus.


More information about the U-Boot mailing list