Re: Generating patches/Cherry Picking for a large number of commits
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Aug 28, 2009, 20:34 UTC
- Message-ID
- <m3k50nllt6.fsf@localhost.localdomain>
- In-Reply-To
- <ae09c2a40908281250r42275a3o96825b89e725bace@mail.gmail.com>
[Alydis, please do not toppost]
Alydis <alydis@august8.net> writes:
Show 5 quoted lines
> On Fri, Aug 28, 2009 at 2:45 PM, Jeff King<peff@peff.net> wrote: >> On Fri, Aug 28, 2009 at 02:26:43PM -0500, Alydis wrote: >> >>> I've tried something along these lines: >>>
[...]
Show 18 quoted lines
>>> git format-patch -o patches v2.6.21..v2.6.30 arch/powerpc/boot >>> git am -3 patches/* >>> >>> But, to my dismay, format-patch here tears apart the commits and >>> applies ONLY the hunks that apply to the arch/powerpc/boot directory. >>> What I'd much rather do is obtain a list of commits that apply to >>> arch/powerpc/boot; but, then apply the entire patch. >> >> By default, format-patch (and log, gitk, etc) when given a path limiter >> will also limit the diff shown. You can override it with --full-diff. > > Ack! Embarrassing RTFM. > > While I have your attention, however, I noticed that git am <path> > will apply the list patches generated by format-patch. The > documentation said something about mbox/maildir directories, which I > actually am not that familiar with. Is it safe to say that git am > <path> will read the path and apply patches in numerical order?
git-format-patch | git-am pipeline has to work correctly, as it originally was the way (modulo extra options) git-rebase was implemented. So yes, "git am <dir>" should understand and apply in correct order result of "git format-patch -o <dir> <revspec>".
> Does it allow skipping?
There is "git am -i".
-- Jakub Narebski Poland ShadeHawk on #git