public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Avi Kivity <avi@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	KVM list <kvm@vger.kernel.org>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Paul Mackerras <paulus@au1.ibm.com>,
	Alexander Graf <agraf@suse.de>
Subject: Re: [GIT PULL] KVM updates for the 3.4 merge window
Date: Tue, 27 Mar 2012 08:05:10 +1100	[thread overview]
Message-ID: <1332795910.2882.34.camel@pasglop> (raw)
In-Reply-To: <4F703F5E.8030700@redhat.com>

On Mon, 2012-03-26 at 12:05 +0200, Avi Kivity wrote:

> Say a fix comes in which needs to be mainlined during -rc.  So I put it
> in some other branch, to be sent off to Linus in a few days after
> maturing a little.  Meanwhile developers see an incomplete tree, since
> that patch is not in it.
> 
> Once Linus pulls, I can merge it back (or even before, if I'm reasonably
> certain it's not going to change), but it leaves a history of unneeded
> merges.  Or we can do throwaway merges like tip.git.

So to give an example, take powerpc. There's two branches, next and
merge. After the merge window, at rc1, they are basically empty.

Developers are encouraged to work on top of Linus upstream. If they
depend on each other they are free to pull each other stuff in, as long
as they avoid rebasing or deal with each other when that is done.

At later rc's (it should be as soon as rc1/rc2 but I trend to be a bit
late there) I open powerpc-next where I start putting stuff that's
intended for the next merge window. This is virtually upstream, this
branch doesn't get rebased.

So developers can fork of it if they wish to, or merge it into their
branch if they need some of the new work, there's really no big deal
with a few spurrious merges if there's a good reason for that, git is
good at it and it's pretty harmless.

Every now and then, I have fixes that I want to send Linus during -rc,
in which case I put them in a "powerpc-merge" branch. This is very short
lived, the fixes have generally been on the list/patchwork already, and
except maybe around rc1, have to be simple enough to be fairly low risk,
so they don't need that much "maturation" (besides it's not like anybody
tests "merge" anyways). So I put things in there, run it through my
automated build tests, do a few runtime tests and send them to Linus,
sometimes even the same day, though the patches themselves will usually
have been on the list & patchwork for a few days.

Now those patches don't absolutely need to be in "next". If they fix
something nasty enough or potentially conflicting with work in progress,
then I can just pull Linus back into next after he merges or even pull
"merge" into "next" if I don't want to wait for Linus.

Another option, is to actually cherry pick some of those patches and
apply them to both next and merge. This is perfectly fine, git will
resolve things 99% of the time and at worst it's going to be a bit of
context fixup in the final merge which is easy to deal with.

Basically that means that I have -0- history fight after a merge window.
My trees essentially all fast-forward to Linus as soon as he has pulled.

My throw-away test branch is seldomly used, mostly if there's stuff that
I want beaten up a bit more than usual, in which case I ask folks around
to give it a go and put it up there.

Cheers,
Ben.



  parent reply	other threads:[~2012-03-26 21:05 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20 14:08 [GIT PULL] KVM updates for the 3.4 merge window Avi Kivity
2012-03-23  0:10 ` Benjamin Herrenschmidt
2012-03-23  3:15   ` Linus Torvalds
2012-03-25 10:09     ` Avi Kivity
2012-03-25 20:51       ` Benjamin Herrenschmidt
2012-03-26 10:05         ` Avi Kivity
2012-03-26 16:21           ` Ingo Molnar
2012-03-27  7:31             ` Avi Kivity
2012-03-26 21:05           ` Benjamin Herrenschmidt [this message]
2012-03-26 21:38       ` Paul Mackerras
2012-03-27 10:09         ` Avi Kivity
2012-03-28  4:02           ` Benjamin Herrenschmidt
2012-03-28 19:41             ` Linus Torvalds
2012-03-30 12:01           ` Paul Mackerras
2012-04-01 12:38             ` Avi Kivity
2012-04-01 21:02               ` Benjamin Herrenschmidt
2012-04-02  9:06                 ` Avi Kivity
2012-04-02  9:46                   ` Benjamin Herrenschmidt
2012-04-16 12:47                     ` Alexander Graf
2012-04-16 12:53                       ` Avi Kivity
2012-04-16 13:05                         ` Alexander Graf
2012-04-16 23:05                         ` Benjamin Herrenschmidt
2012-04-17  7:20                           ` Avi Kivity
2012-04-17  9:34                             ` Alexander Graf
2012-04-17 10:25                               ` Avi Kivity
2012-04-01 22:45               ` Paul Mackerras
2012-04-02  9:07                 ` Avi Kivity

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=1332795910.2882.34.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=agraf@suse.de \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=paulus@au1.ibm.com \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox