All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Henning Schild <henning.schild@siemens.com>
Cc: "KISZKA, JAN" <jan.kiszka@siemens.com>, Xenomai <xenomai@xenomai.org>
Subject: Re: [Xenomai] 4.x merge
Date: Fri, 2 Oct 2015 16:09:13 +0200	[thread overview]
Message-ID: <20151002140913.GQ31137@hermes.click-hack.org> (raw)
In-Reply-To: <20151002153632.68cb0dce@md1em3qc>

On Fri, Oct 02, 2015 at 03:36:32PM +0200, Henning Schild wrote:
> On Tue, 29 Sep 2015 20:03:45 +0200
> Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> 
> > On Wed, Sep 09, 2015 at 11:31:51AM +0200, Henning Schild wrote:
> > > Hi,
> > > 
> > > i am about to merge ipipe into a more recent kernel and would like
> > > to discuss the approach with you guys. As far as i have seen and
> > > been told i should merge and not rebase.
> > > 
> > > My current plan:
> > > 1 choose release (4.1 since its LTS)
> > > 2 merge it into ipipe
> > > 3 resolve obvious conflicts
> > > 4 commit broken merge
> > > 5 repair common bits and x86
> > > 6 publish my tree for others to repair other archs
> > > 
> > > Steps 2,3 and 4 might become iterations stepping over 3.19 and 4.0.
> > > The merges will not work but the smaller steps will result in less
> > > conflicts at a time.
> > > 
> > > What do you guys think of the approach? Are my version choices sane
> > > or are there any reasons to consider other releases as well?
> > 
> > I did not answer because I am not sure my opinion really matters. I
> > am only maintaining one architecture, and have not even worked on it
> > for a long time. And have already expressed this opinion several
> > times. But since you are asking for it:
> > 
> > - merging with mainline to maintain the modifications made by the
> > I-pipe tree is a bad solution: 
> > . first because it is more time consuming than what we did before,
> > that is reapplying the I-pipe patch and fixing the conflicts:
> > . second because the I-pipe changes get lost in the middle of the
> > upstream commits, so the idea that by doing this we could keep the
> > history of changes in the I-pipe tree does not work;
> > . third because when you do the merge, you can not easily ignore the
> > conflicts for the other architecture than the one you are currently
> > working on.
> >
> > - merging by iterating over releases is even more time consuming: it
> > is far from exceptional to see the same piece of code changed by
> > several consecutive releases, with your method you get one conflict
> > by iteration, if you skip all the releases with one big iteration,
> > that means fixing only one conflict.
> 
> I found the approach to work OK and surprisingly fast. In some series i
> had to resolve conflicts on the same files, but it was different
> conflicts. Not particularly time consuming or annoying.
> 
> I did not ignore the other archs when merging, i just did not test
> them. 4.0 is currently at a state as if i had applied the big patch on
> it and merged to my best knowledge.

That is a problem. It is easier to find bugs in something you
merged, than in something someone else merged.

> 
> > - I believe the right solution is to maintain the changes made by
> > the I-pipe tree as a stack of commits applied on top of the upstream
> > kernel, maintained with git. That means using git rebase to switch
> > from one release to the next, and amend each commit to fix the
> > conflicts. This way, every patch becomes a meaningful change to the
> > upstream kernel, we keep the history of changes, and they all appear
> > on top of the upstream commits, making them easy to identify in the
> > git logs. Splitting architecture specific patches allows every
> > architecture maintainer to focus on his architecture, and not have
> > to care about the other architecture commits. Note that I have
> > maintained the FCSE patch (split in something like 7 or 8 commits)
> > for several kernel releases, and I noticed no particular difficulty
> > doing so.
> 
> That also does not sound too bad. At the moment we are probably >30
> commits away from mainline, with 95% of the code in one big change that
> does have a broken history. But sorting that into a nice queue of
> independantly working commits will also take a lot of time. And
> maintaining that feature will also cost.
> 
> Using a queue has the problem that changing the history (rebasing)
> becomes an essential part of your workflow. I know a lot of people like
> doing that to keep things nice and clean but i am not a big fan. My
> experience is that you end up investing a lot of work to alter
> history that could be useful later.

I was talking about rebasing only when switching from one mainline
release to the next. An I-pipe branch for a mainline release would
never been rebased. You would use the opportunity of the rebase to
the next release to clean up the history.

-- 
					    Gilles.
https://click-hack.org


      reply	other threads:[~2015-10-02 14:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-09  9:31 [Xenomai] 4.x merge Henning Schild
2015-09-09 13:01 ` Jorge Ramirez Ortiz
2015-09-15  8:48   ` Henning Schild
2015-09-17 12:39     ` Henning Schild
2015-09-17 12:46       ` [Xenomai] [PATCH xenomai2 1/2] adopt to kernel change c0371da6047abd261bc483c744dbc7d81a116172 Henning Schild
2015-09-17 12:46         ` [Xenomai] [PATCH xenomai2 2/2] scripts: make kernel 4.x ready Henning Schild
2015-09-17 12:46         ` [Xenomai] [PATCH xenomai3 1/2] adopt to kernel change c0371da6047abd261bc483c744dbc7d81a116172 Henning Schild
2015-09-17 12:46         ` [Xenomai] [PATCH xenomai3 2/2] adopt to kernel change 3a161d99c43ce74c76aecff309be4c3ba455e823 Henning Schild
2015-09-17 13:24       ` [Xenomai] 4.x merge Jorge Ramirez Ortiz
2015-10-14 13:11       ` Jorge Ramirez Ortiz
2015-11-09 12:11         ` Henning Schild
2015-10-14 22:16       ` Jorge Ramirez Ortiz
2015-10-20 15:07         ` Jorge Ramirez Ortiz
2015-10-20 15:35           ` Philippe Gerum
2015-10-20 16:01             ` Gilles Chanteperdrix
2015-09-29 18:03 ` Gilles Chanteperdrix
2015-10-02 13:36   ` Henning Schild
2015-10-02 14:09     ` Gilles Chanteperdrix [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151002140913.GQ31137@hermes.click-hack.org \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=henning.schild@siemens.com \
    --cc=jan.kiszka@siemens.com \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.