Subject: Re: [RFC] git-sequencer.txt

From: Jakub Narebski <[email-masked]>
Date: Tue, 10 Jun 2008 08:17:41 +0200

On Wed, 10 Jun 2008, Stephan Beyer wrote:

Could you please try not to cut (remove) quotes attributions? It is harder to follow discussion without them...

> Jakub Narebski wrote:

>> Second, about "pick" accepring (I guess) git-cherry-pick options: I
>> would like to have documentation on '--mainline <parent-number>'
>> option in git-sequencer manpage, or at lest explicitely mentioned that
>> it can be used to pick merge commits.
> 
> Btw it is currently pretty stupid and doesn't accept any git-cherry-pick
> options.
> 
> And I didn't know that --mainline exists. I've always thought the first
> parent in the parent list is the "mainline".

It depends on the workflow.  Git tries to not make first parent all
that special.  Due to using fast-forward yourline can actually be
second parent.

Probably better name would be --pick-parent.  Note that without this
option there is no way to "pick", as in pick changes brought by commit,
merge commit (unless you default to first-parent...).

> Well, seems to be an easier-to-use alternative to the "merge" insn if you 
> want to keep the non-mainline parents, commit message and authorship.
> So I think, it's ok to support it ;)

They are two opposite sides of spectrum.  "pick --mainline" is to pick
a merge, "merge" is to create merge commit.  You might want to make
merge into ordinary commit, make ordinary commit into merge, make merge
into merge preserving other parents, make merge into merge rewriting all
parents.

> > BTW, is "pick --no-commit"  symmetric equivalent^W alternative to "squash"?
> 
> Seems that it's yet another variant to realize squash, but less generic
> than the reset --soft ; commit approach.

I'm not sure if less generic.  You can use "pick; squash; squash" or 
"no-commit; no-commit; pick".
-- 
Jakub Narebski
Poland