git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@gmail.com>
To: Greg KH <greg@kroah.com>
Cc: Petr Baudis <pasky@suse.cz>, git@vger.kernel.org, kkeil@suse.de
Subject: Re: [Core GIT] Long-term cherrypicking
Date: Thu, 22 Sep 2005 10:53:27 +0100	[thread overview]
Message-ID: <tnxpsr12zu0.fsf@arm.com> (raw)
In-Reply-To: <20050922083142.GA6866@kroah.com> (Greg KH's message of "Thu, 22 Sep 2005 01:31:42 -0700")

Greg KH <greg@kroah.com> wrote:
> On Wed, Sep 21, 2005 at 06:40:15PM +0200, Petr Baudis wrote:
>>   His situation is that he has some patches in the ISDN subsystem, a
>> public repository, but sends the patches over e-mail to Linus. So he is
>> something between the subsystem maintainer and individual developer in
>> the categories listed out in the tutorial. What should be his merging
>> strategy?
>
> Not to use git for this.
>
> Seriously, that's what I have switched to doing, and it's so much
> easier.  I use quilt to manage patches from the community, and Andrew
> pulls them into to the -mm releases, and all users can test them.  I
> keep them up to date with the git snapshots, which handles the different
> merge and fuzz issues very well.

You might want to try StGIT as well, unless you have a huge number of
patches and rebasing them takes too much time. It follows the quilt
ideas but it does a three-way merge instead of patch+fuzz. This allows
it to detect patches accepted by Linus and also see whether they were
not fully applied or were modified. You can run 'stg export' to
generate a patch series to send to Andrew.

> Then, when it's time to merge with Linus, I pick and choose the patches
> that I want to send off, create a git tree, add them to the tree, and
> send them off.

With StGIT, you can either use 'stg mail <patches...>' or re-organise
the stack with push/pop so that you only keep the patches to be merged
by Linus and tell him the HEAD value to merge. Even if you modify the
stack afterwards, the HEAD value still represents the stack state at
that moment (unless you run 'git prune' and the value is not saved in
a file under refs/heads/).

StGIT also support cherry-picking via 'stg import --commit=...' if you
want to create a separate branch.

But what I understand from Petr's e-mail is that re-basing the patches
is not acceptable for a repository which is public. One option would
be to keep a private tree where the patches are re-based and a public
one which periodically pulls from Linus' tree and your private
one. Not sure how complicated the commit graph would look.

> It's ended up saving me a lot of time (I used to do what Karsten is
> trying to do with bitkeeper, and it had the same issues that he is
> running into) and would recommend this situation for anyone who wants to
> keep patches from being merged immediatly (like he is trying to do.)

I only maintain a small set of patches (< 20) and send some of them
upstream via RMK. I would recommend StGIT :-) as an alternative to
quilt (I don't say a better one but some people might like it).

-- 
Catalin

  reply	other threads:[~2005-09-22  9:54 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-21 16:40 [Core GIT] Long-term cherrypicking Petr Baudis
2005-09-21 20:57 ` Junio C Hamano
2005-09-21 22:19   ` Petr Baudis
2005-09-21 23:26     ` Junio C Hamano
2005-09-22  8:31 ` Greg KH
2005-09-22  9:53   ` Catalin Marinas [this message]
2005-09-22  9:58     ` Petr Baudis
2005-09-22 10:17       ` Catalin Marinas

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=tnxpsr12zu0.fsf@arm.com \
    --to=catalin.marinas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=greg@kroah.com \
    --cc=kkeil@suse.de \
    --cc=pasky@suse.cz \
    /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;
as well as URLs for NNTP newsgroup(s).