git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Brandon McCaig <bamccaig@gmail.com>
Cc: Michael Haggerty <mhagger@alum.mit.edu>,
	git discussion list <git@vger.kernel.org>,
	Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>,
	Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: GSoC idea: allow "git rebase --interactive" todo lines to take options
Date: Fri, 28 Feb 2014 07:52:41 -0500	[thread overview]
Message-ID: <20140228125241.GA23448@sigill.intra.peff.net> (raw)
In-Reply-To: <CANUGeEY2qE2LPq=-bhaKrKrv+uJUaPRqAeW_X1sFyZH-_PRVeA@mail.gmail.com>

On Thu, Feb 27, 2014 at 01:10:30PM -0500, Brandon McCaig wrote:

> On Wed, Feb 26, 2014 at 5:52 AM, Jeff King <peff@peff.net> wrote:
> > This seems like a reasonable feature to me. All of your examples are
> > possible with an "e"dit and another git command, but the convenience may
> > be worth it (though personally, most of the examples you gave are
> > particularly interesting to me[1]).
> 
> This strikes me as over-complicating the rebase --interactive
> interface.

Sorry, I missed an important word in my final sentence. It should have
been "the examples you gave are NOT particularly interesting to me".

> Particularly all of the ideas expressed later on about
> merge commits and resetting authors, etc. It seems like you're trying
> to define a whole new command set (i.e., API) for Git, but within the
> context of rebase --interactive. I think it would be hard to document
> this, and hard to learn it, and harder still to remember it (even
> though it would obviously try to mirror the existing Git command API).

I agree some of the examples are getting esoteric. Things like --signoff
and --reset-author are a fairly straightforward convenience feature:
they save you from writing "exec git commit --amend --signoff".

For others that cannot currently be done with a simple option to "git
commit", I think a reasonable first step would be to implement them
there. For example, you cannot currently "git commit --tree". Maybe that
is too insane and low-level an option for "git commit". But if it is,
then it is almost certainly too insane and low-level for a rebase
instruction.

For others from Michael's list, I expect they may not make _sense_
outside of a rebase. That is, they are operations whose input is not a
single commit, but a sequence of commits (e.g., if you had some
high-level command that allowed swapping two commits without having to
redo the conflicts from the second commit). Those ones might make sense
to exist as part of rebase and nowhere else (but then they are not
necessarily just options, but rather new instructions).

> That said, I do think that this is probably a bad direction and
> shouldn't be rushed into too fast.

I'm not sure whether it is a good idea or not. But I think it is looking
decreasingly like a good GSoC project.

-Peff

  reply	other threads:[~2014-02-28 12:52 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26  8:04 GSoC idea: allow "git rebase --interactive" todo lines to take options Michael Haggerty
2014-02-26 10:52 ` Jeff King
2014-02-26 11:14   ` Michael Haggerty
2014-02-26 11:42     ` Jeff King
2014-02-26 14:55   ` Tay Ray Chuan
2014-02-26 19:55   ` Junio C Hamano
2014-02-27  7:48   ` Michael Haggerty
2014-02-27 18:10   ` Brandon McCaig
2014-02-28 12:52     ` Jeff King [this message]
2014-02-28 14:03       ` Michael Haggerty
2014-03-11  1:37         ` Jeff King
2014-03-11 19:31           ` Junio C Hamano

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=20140228125241.GA23448@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=bamccaig@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=johannes.schindelin@gmx.de \
    --cc=martin.von.zweigbergk@gmail.com \
    --cc=mhagger@alum.mit.edu \
    /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).