[Natty] [ti-omap4] [Pull Request]: 2.6.38.2 based updates
Nicolas Pitre
nicolas.pitre at canonical.com
Fri Apr 15 18:36:03 UTC 2011
On Fri, 15 Apr 2011, Tim Gardner wrote:
> On 04/15/2011 12:55 AM, Andy Green wrote:
> > On 04/14/2011 06:21 PM, Somebody in the thread at some point said:
> >
> > Hi -
> >
> > > > Exactly, for Linaro release we found it merges several branches from
> > > > upstream and stable tree, while for TI OMAP4 patches (come from Sebjan
> > > > and Andy Green) are all linear I think.
> > >
> > > Right: I provided a re-based tree because I knew it would fit well
> > > with the Ubuntu regular strategy.
> > > But for the future I am open to look at a merge strategy if it's more
> > > convenient.
> >
> > I'm actually carrying two branches that resolve to the same tree. My
> > master branch is using rebase against npitre's tree and allows going
> > back down the patch stack to refine the patches to feed his tree, but
> > for Bryan I keep a for-ubuntu branch with a history. I plan to, and have
> > been, adding patches as necessary to keep the diff between the two trees
> > at zero.
> >
> > > > > There seem to be two viable approaches (to my eye), though I am fully
> > > > > open to other ideas:
> > > > >
> > > > > 1) squash the delta into a 'omap4' patch and carry that, or
> > > > > 2) accept that this is a merge based tree and develop new handling for
> > > > > this kind of tree.
> > >
> > > From my point of view, I definitely prefer option 2. But the end call
> > > belongs to you.
> >
> > Yeah option 2 is the way forward I think.
> >
> > -Andy
> >
> >
> >
>
> So, this is all kind of hand wavy. How about some specifics. I've pushed
> Bryan's branch to ti-omap4 and tagged it Ubuntu-2.6.38-1208.11.
>
> What I expect the maintenance team to have to do is something like the
> following (note that ti-omap4 is currently behind master, Ubuntu-2.6.38-8.40
> v.s. Ubuntu-2.6.38-8.42) :
>
> git checkout -f ti-omap4
> git log refs/heads/master
>
> Decide what the last merge point was relative to master, either by inspection
> or because someone created a merge point tag, e.g.,
> Ubuntu-2.6.38-8.40-ti-omap4.
>
> git format-patch Ubuntu-2.6.38-8.40..refs/heads/master
> git am -3 0*
>
> Then resolve any conflicts, of which there ought to be few. Thoughts?
I don't understand why you guys are going through all this pain of
trying to linearize a Git history in order to transplant it onto another
base.
The Linaro kernel tree is made of a lot of merges. I do merge branches
from upstream trying to keep them intact so they have the same commit
IDs and also preserve the same environment in which they were developed
and tested. For example, I did include the latest core ARM patches
simply by merging the tip of the branch that went into 2.6.39-rc1.
That branch was itself based on top of 2.6.38-rc6 or so, therefore it
was a perfect merge target for a 2.6.38 based kernel. And so on for
OMAP. Eventually I had to rebase/cherry-pick patches because they were
based on a post-2.6.38 commit. But when possible I far prefer to
perform a merge instead of a rebase.
Now the Linaro tree itself is not rebased because there are consumers of
that tree merging it into theirs. What I'd suggest is that the Ubuntu
flavor for OMAP4 should just do a merge as well. Trying to use
format-patch here won't work very well because the history in Git is
two-dimensional and cannot be linearized into a simple series of patches
across merge commits.
Nicolas
More information about the kernel-team
mailing list