Re: [Q] merging from one (kernel) stable to another?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 30 March 2009 19:31:18 Daniel Barkalow wrote:
> On Mon, 30 Mar 2009, Brian Foster wrote:
> >   Whilst this question involves linux(-mips) kernel tree,
> >  it's a git(-related?) question, not a kernel question ....
> > 
> >   We are currently in the process of upgrading our embedded
> >  system from kernel 2.6.21(-ish) to at least 2.6.26.8;  and
> >  later, at some time in the future on to 2.6.3x or something.
> >  Going from 2.6.21 to .22 to .23 and so on to .26, then to
> >  .26.1 and so on to .26.8 is “easy” in the sense there are
> >  very few conflicts with our existing baseline (e.g., just
> >  2 or 3 in 2 or 3 files).
> > 
> >   .21 --> me --> .22 --> .23 ... --> .26 --> .27 --> master
> >      \              \       \           \      \
> >      .21-stable  .22-stable .23-stable   \     .27-stable
> >                                         .26.8
> >                                            \
> >                                            .26-stable
> > 
> >   But (using 2.6.21-stable and 2.6.22-stable as proxies),
> >  tests indicate that going from .26.8 to .27 or anything
> >  later will have numerous conflicts (100s? in more than
> >  30 files).  Thinking about it, this isn't too surprising
> >  since the -stable branches cherry-pick important/benign
> >  fixes from later revisions.
> 
> Why are you going from .26.8 to .27? Based on the -stable policy,
> there should be no reason not to skip .26.x between .26 and .27.

Daniel,

  That's a good question!  The policy to-date has been to
 ignore the -stable branches entirely, and go from release
 to release; i.e., .21 to .22 to ... to .26 to .27 et al.
 We (deliberately!) stay several releases behind (being
 bang-up-to-date isn't too important to our market/product,
 but having a robust secure system is extremely important).

  The current feeling is we should probably be moving from
 -stable to -stable, i.e., .21-stable to .22-stable to ...
 to .26-stable and later to .27-stable and so on.  This is
 based, in part, on observing the changes that are in -stable
 and realizing some of them are highly desirable.  This new
 idea/plan of going from -stable to -stable can change if
 there's a good reason.  It's currently in a state of flux.

  So I somewhat incorrectly described the thinking, mixing
 up our historical practice with the proposed new policy.
 In my defense, my I point out that we are particularly
 interested in some MIPS changes on .26-stable, and, at the
 the moment, have decided to not go to .27 for this cycle.
 (Admittedly, with the release of .29, the decision not to
 go to .27 has been challenged, but the issue hasn't been
 looked into in any detail (yet? as far as I know).)

  Anyways, good catch!  I take your point.  Many thanks.

>                                                            In fact, it's
> not unlikely that merging both .26.8 and .27 will introduce bugs when the
> same issue was fixed in different places in the two branches: a narrow
> patch to paper over the identified problem in -stable and an intrusive
> patch to change some API to make simpler code correct in the mainline.
> 
> That is, the correct way of merging changes from -stable with the latest
> mainline series is always to take the mainline version, even if the
> -stable changes don't conflict at all.

  Yep!  We don't want to merge changes from -stable
 into master (mainline).  That was a mistake in my
 description.  Again, thanks for pointing it out.

> It should actually be ideal to just merge your local changes directly with
> the mainline kernel you want to end up using. But you might want to merge
> first with earlier mainline kernels in order to get fewer or easier
> conflicts per step.

  Indeed.  We are progressing one release at a time.
 (I've been insisting on this!)  However, given we're
 not targeting .27 or later at this cycle, and that
 we know there are changes on .26-stable we want/need,
 it's (almost) a dead cert our next release will be
 based on some point in .26-stable (I'm using .26.8
 as a proxy as it's the latest (when I checked) tag
 on .26-stable).

  Things are in flux, and suggestions are certainly
 welcome.  Thanks for your very helpful observations.

cheers!
	-blf-

-- 
“How many surrealists does it take to   | Brian Foster
 change a lightbulb? Three. One calms   | somewhere in south of France
 the warthog, and two fill the bathtub  |   Stop E$$o (ExxonMobil)!
 with brightly-coloured machine tools.” |      http://www.stopesso.com
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux