git.vger.kernel.org archive mirror
 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 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).