All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philip Oakley" <philipoakley@iee.org>
To: "Liam Beguin" <liambeguin@gmail.com>, <git@vger.kernel.org>
Cc: <Jhannes.Schindelin@gmx.de>, <peff@peff.net>,
	"Liam Beguin" <liambeguin@gmail.com>
Subject: Re: [PATCH v2] rebase -i: add config to abbreviate command-names
Date: Tue, 25 Apr 2017 11:34:38 +0100	[thread overview]
Message-ID: <D1F52B690614472486B661D6D563DA85@PhilipOakley> (raw)
In-Reply-To: 20170425043742.15529-1-liambeguin@gmail.com

From: "Liam Beguin" <liambeguin@gmail.com>
> Add the 'rebase.abbrevCmd' boolean config option to allow `git rebase -i`
> to abbreviate the command-names in the instruction list.
>
> This means that `git rebase -i` would print:
>    p deadbee The oneline of this commit
>    ...
>
> instead of:
>    pick deadbee The oneline of this commit
>    ...
>
> Using a single character command-name allows the lines to remain
> aligned, making the whole set more readable.
>
> Signed-off-by: Liam Beguin <liambeguin@gmail.com>
> ---
> Changes since v1:
> - Improve Documentation and commit message
>
> Documentation/config.txt     | 19 +++++++++++++++++++
> Documentation/git-rebase.txt | 19 +++++++++++++++++++
> git-rebase--interactive.sh   |  8 ++++++--
> 3 files changed, 44 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 475e874d5155..8b1877f2df91 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -2614,6 +2614,25 @@ rebase.instructionFormat::
>  the instruction list during an interactive rebase.  The format will 
> automatically
>  have the long commit hash prepended to the format.
>
> +rebase.abbrevCmd::
> + If set to true, `git rebase -i` will abbreviate the command-names in the
> + instruction list. This means that instead of looking like this,
> +
> +-------------------------------------------
> + pick deadbee The oneline of this commit
> + pick fa1afe1 The oneline of the next commit
> + ...
> +-------------------------------------------
> +
> + the list would use the short version of the command resulting in
> + something like this.

Perhaps use an example which does have rebase commands of different lengths, 
such as 'pick', 'squash', 'reword' to more clearly show the intent of 
alignment and subsequent ease of editing?

--
Philip


> +
> +-------------------------------------------
> + p deadbee The oneline of this commit
> + p fa1afe1 The oneline of the next commit
> + ...
> +-------------------------------------------
> +
> receive.advertiseAtomic::
>  By default, git-receive-pack will advertise the atomic push
>  capability to its clients. If you don't want to advertise this
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 67d48e688315..7d97c0483241 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -222,6 +222,25 @@ rebase.missingCommitsCheck::
> rebase.instructionFormat::
>  Custom commit list format to use during an `--interactive` rebase.
>
> +rebase.abbrevCmd::
> + If set to true, `git rebase -i` will abbreviate the command-names in the
> + instruction list. This means that instead of looking like this,
> +
> +-------------------------------------------
> + pick deadbee The oneline of this commit
> + pick fa1afe1 The oneline of the next commit
> + ...
> +-------------------------------------------
> +
> + the list would use the short version of the command resulting in
> + something like this.
> +
> +-------------------------------------------
> + p deadbee The oneline of this commit
> + p fa1afe1 The oneline of the next commit
> + ...
> +-------------------------------------------
> +
> OPTIONS
> -------
> --onto <newbase>::
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index 2c9c0165b5ab..9f3e82b79615 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -1210,6 +1210,10 @@ else
>  revisions=$onto...$orig_head
>  shortrevisions=$shorthead
> fi
> +
> +rebasecmd=pick
> +test "$(git config --bool --get rebase.abbrevCmd)" = true && rebasecmd=p
> +
> format=$(git config --get rebase.instructionFormat)
> # the 'rev-list .. | sed' requires %m to parse; the instruction requires 
> %H to parse
> git rev-list $merges_option --format="%m%H ${format:-%s}" \
> @@ -1228,7 +1232,7 @@ do
>
>  if test t != "$preserve_merges"
>  then
> - printf '%s\n' "${comment_out}pick $sha1 $rest" >>"$todo"
> + printf '%s\n' "${comment_out}${rebasecmd} $sha1 $rest" >>"$todo"
>  else
>  if test -z "$rebase_root"
>  then
> @@ -1246,7 +1250,7 @@ do
>  if test f = "$preserve"
>  then
>  touch "$rewritten"/$sha1
> - printf '%s\n' "${comment_out}pick $sha1 $rest" >>"$todo"
> + printf '%s\n' "${comment_out}${rebasecmd} $sha1 $rest" >>"$todo"
>  fi
>  fi
> done
> -- 
> 2.9.3
>
> 


  parent reply	other threads:[~2017-04-25 10:34 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-24  3:23 [PATCH] rebase -i: add config to abbreviate command name Liam Beguin
2017-04-24 10:26 ` Johannes Schindelin
2017-04-24 11:04   ` liam BEGUIN
2017-04-25  2:57   ` liam BEGUIN
2017-04-25 19:45     ` Johannes Schindelin
2017-04-25 22:58       ` liam BEGUIN
2017-04-24 12:29 ` Jeff King
2017-04-25  4:37 ` [PATCH v2] rebase -i: add config to abbreviate command-names Liam Beguin
2017-04-25  6:29   ` Junio C Hamano
2017-04-25  8:29     ` Jacob Keller
2017-04-25 23:34       ` liam Beguin
2017-04-26  2:09       ` Junio C Hamano
2017-04-25  9:57   ` Andreas Schwab
2017-04-25 13:59     ` Mike Rappazzo
2017-04-25 10:34   ` Philip Oakley [this message]
2017-04-25  4:43 ` Liam Beguin
2017-04-25  9:53   ` Andreas Schwab
2017-04-25 21:23     ` Johannes Schindelin
2017-04-25 22:56       ` liam BEGUIN
2017-04-25 20:08   ` Johannes Schindelin
2017-04-26  0:13     ` liam Beguin
2017-04-26  1:47       ` Jeff King
2017-04-26  3:59         ` Junio C Hamano
2017-04-26  9:25           ` Johannes Schindelin
2017-04-27  0:37             ` Junio C Hamano
2017-04-26  9:28       ` Johannes Schindelin
2017-04-26 15:24   ` Ævar Arnfjörð Bjarmason
2017-04-27  1:20     ` 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

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

  git send-email \
    --in-reply-to=D1F52B690614472486B661D6D563DA85@PhilipOakley \
    --to=philipoakley@iee.org \
    --cc=Jhannes.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.
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.