git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Liam Beguin <liambeguin@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Jeff King <peff@peff.net>
Subject: Re: [PATCH v3 0/6] rebase -i: add config to abbreviate command-names
Date: Tue, 2 May 2017 10:48:41 +0200	[thread overview]
Message-ID: <CACBZZX5MacQZHVjSymWm0_RHjc_Q41J9vhqMuDGwz3L_4LjtzQ@mail.gmail.com> (raw)
In-Reply-To: <20170502040048.9065-1-liambeguin@gmail.com>

On Tue, May 2, 2017 at 6:00 AM, Liam Beguin <liambeguin@gmail.com> wrote:
> Add the 'rebase.abbreviateCommands' configuration option to allow
> `git rebase -i` to default to the single-letter command-names in
> the todo list.
>
> Using single-letter command-names can present two benefits.
> First, it makes it easier to change the action since you only need to
> replace a single character (i.e.: in vim "r<character>" instead of
> "ciw<character>").
> Second, using this with a large enough value of 'core.abbrev' enables the
> lines of the todo list to remain aligned making the files easier to
> read.
>
> Changes from v1 to v2:
>  - Improve Documentation and commit message
>
> Changes from v2 to v3:
>  - Transform a single patch into a series
>  - change option name from 'rebase.abbrevCmd' to 'rebase.abbreviateCommands'
>  - abbreviate all commands (not just pick)
>  - teach `git rebase -i --autosquash` to recognise single-letter command-names
>  - move rebase configuration documentation to Documentation/rebase-config.txt
>  - update Documentation to use the preferred naming for the todo list
>  - update Documentation and commit messages according to feedback
>
> Liam Beguin (6):
>   rebase -i: add abbreviated command-names handling
>   rebase -i: add abbreviate_commands function
>   rebase -i: add short command-name in --autosquash
>   Documentation: move rebase.* config variables to a separate
>     rebase-config.txt
>   Documentation: use prefered name for the 'todo list' script
>   Documentation: document the rebase.abbreviateCommands option

I locally rebased this into just 3 patches, i.e. in this sequence:

- Documentation: move rebase.* config variables to a separate rebase-config.txt
- Documentation: use preferred name for the 'todo list' script
- *all the rest of this squashed*

I think that's much less confusing than having 3x "rebase -i" patches.
If you look at any one of those you have very little context for
what's going on, and there seems to be no point in splitting them
since the end result is tiny (3 files changed, 45 insertions(+), 4
deletions(-)).

I think with that this looks good, but it also needs tests, if you
apply your series and then comment out the new calls to
abbreviate_commands all tests still pass, if you look at git-config(1)
and search for the other rebase.* commands & grep the test suite for
those you can see how they're tested for.

I don't think this needs a lot of testing since it's a rather trivial
feature, but just one test to make sure that the todo list ends up as
"p ..." "e  ..." instead of "pick ..." "exec ..." etc. would be good.

>  Documentation/config.txt        | 31 +-----------------------
>  Documentation/git-rebase.txt    | 21 +++-------------
>  Documentation/rebase-config.txt | 53 +++++++++++++++++++++++++++++++++++++++++
>  git-rebase--interactive.sh      | 24 ++++++++++++++++++++----
>  4 files changed, 78 insertions(+), 52 deletions(-)
>  create mode 100644 Documentation/rebase-config.txt
>
> --
> 2.9.3
>

  parent reply	other threads:[~2017-05-02  8:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-02  4:00 [PATCH v3 0/6] rebase -i: add config to abbreviate command-names Liam Beguin
2017-05-02  4:00 ` [PATCH v3 1/6] rebase -i: add abbreviated command-names handling Liam Beguin
2017-05-02 14:37   ` Johannes Schindelin
2017-05-02  4:00 ` [PATCH v3 2/6] rebase -i: add abbreviate_commands function Liam Beguin
2017-05-02 15:32   ` Johannes Schindelin
2017-05-02  4:00 ` [PATCH v3 3/6] rebase -i: add short command-name in --autosquash Liam Beguin
2017-05-02 15:34   ` Johannes Schindelin
2017-05-02 23:18     ` Liam Beguin
2017-05-02  4:00 ` [PATCH v3 4/6] Documentation: move rebase.* config variables to a separate rebase-config.txt Liam Beguin
2017-05-02 15:40   ` Johannes Schindelin
2017-05-02  4:00 ` [PATCH v3 5/6] Documentation: use preferred name for the 'todo list' script Liam Beguin
2017-05-02  4:00 ` [PATCH v3 6/6] Documentation: document the rebase.abbreviateCommands option Liam Beguin
2017-05-02  8:48 ` Ævar Arnfjörð Bjarmason [this message]
2017-05-02 15:41   ` [PATCH v3 0/6] rebase -i: add config to abbreviate command-names Johannes Schindelin
2017-05-02 15:48 ` Johannes Schindelin
2017-05-02 23:56   ` Liam Beguin
2017-05-03 11:22     ` Johannes Schindelin
2017-05-04  5:04       ` Junio C Hamano
2017-05-07 17:13         ` Liam Beguin
2017-05-08  0:27           ` Junio C Hamano
2017-05-08 21:27             ` Liam Beguin

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CACBZZX5MacQZHVjSymWm0_RHjc_Q41J9vhqMuDGwz3L_4LjtzQ@mail.gmail.com \
    --to=avarab@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=liambeguin@gmail.com \
    --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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).