All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Kelly <steveire@gmail.com>
To: Michael Haggerty <mhagger@alum.mit.edu>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Jeff King <peff@peff.net>
Subject: Re: git interactive rebase 'consume' command
Date: Mon, 21 Jan 2013 20:05:45 +0100	[thread overview]
Message-ID: <50FD9189.8040807@gmail.com> (raw)
In-Reply-To: <50FD20FA.8060906@alum.mit.edu>

On 01/21/2013 12:05 PM, Michael Haggerty wrote:
> It is perverse to have to turn a well-defined and manifestly
> conflict-free wish into one that has a good chance of conflicting, just
> because of a limitation of the tool.

Yes, I agree.

>> I would prefer to be able to mark a commit as 'should be consumed', so that:
>>
>>   pick 07bc3c9 Good commit.
>>   consume 1313a5e Commit to fixup into c2f62a3.
>>   pick c2f62a3 Another commit.
>>
>> will result in
>>
>>   pick 07bc3c9 Good commit.
>>   pick 62a3c2f Another commit.
>>
>> directly.
> Excellent.  But the name is not self-explanatory.  And there is
> something different about your "consume" command:
>
> Normally, "pick" means that the commit on that line is the start of a
> new commit unrelated to its predecessors.  And in general, the command
> on one line only affects the lines that come before it, not the lines
> that come after it.  Under your proposal "consume" would change the
> meaning of the following line, namely by changing what its "pick" means.

>   It might be more consistent to require the following line to be changed
> to "squash":

I'm -1 on that. I value the simple format of the todo file. If I want to 
edit a commit, I type deif, reword - deir, fixup - deif. I'd like 
something equally simple like deic for this operation. There's also a 
'consistency' argument there, and one I prefer to your consistency 
interpretation.

The same simplicity request applies to what you write below.

Thanks,

Steve.

>      pick 07bc3c9 Good commit.
>      consume 1313a5e Commit to fixup into c2f62a3.
>      squash c2f62a3 Another commit.
>
> in which case the meaning of "consume" would be something like "pick
> this commit but not its commit message.  There would have to be a
> prohibition against generating commits with *no* commit messages, to
> prevent series like [consume, pick] or [consume, fix, pick] while
> allowing series like [consume, consume, squash, fix, fix].
>
> If this is the interpretation, the name "quiet/q" might make things clearer.
>
> Yet another approach would be to allow options on the commands.  For
> example,
>
>      pick 07bc3c9 Good commit.
>      pick --quiet 1313a5e Commit to fixup into c2f62a3.
>      squash c2f62a3 Another commit.
>
> In fact if options were implemented, then "fixup" would mean the same as
> "squash --quiet", "reword" could be written "pick --edit", and I'm sure
> the new flexibility would make it easier to add other features (e.g.,
> "pick --reset-author").
>
> Michael
>

      reply	other threads:[~2013-01-21 19:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-20 14:05 git interactive rebase 'consume' command Stephen Kelly
2013-01-20 14:17 ` John Keeping
2013-01-20 14:23   ` Stephen Kelly
2013-01-20 19:05 ` Junio C Hamano
2013-01-20 19:13   ` Stephen Kelly
2013-01-20 20:23     ` Junio C Hamano
2013-01-21  1:49       ` Jeff King
2013-01-21  8:40       ` Stephen Kelly
2013-01-21 11:05 ` Michael Haggerty
2013-01-21 19:05   ` Stephen Kelly [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=50FD9189.8040807@gmail.com \
    --to=steveire@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=mhagger@alum.mit.edu \
    --cc=peff@peff.net \
    /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.