Re: [PATCH] rebase -i: support single-letter abbreviations for the actions

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] rebase -i: support single-letter abbreviations for the actions

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:37

Johannes Schindelin [off-list ref] writes:
When you do many rebases, you can get annoyed by having to type out
the actions "edit" or "squash" in total.

This commit helps that, by allowing you to enter "e" instead of "edit",
or "s" instead of "squash", and it also plays nice with "merge" or "amend"
as synonyms to "squash".
I am not sure if we want to taint the words merge and amend like
this.  I was hoping someday you would allow people to reorder
something like this...

          e
           \     
 ---a---b---c---d

into something like this:

      e
       \     
 ---b'--c'--a'+d'

The insn sequence you prepare for the user to edit would be:

	pick	a	
	pick	b
	merge   c
        pick    d

and then the user would rewrite that to:

	pick	b
        merge   c
        pick    a
        squash  d

I do not think making 'amend' a synonym to 'squash' is correct
either; isn't it closer to 'edit'?

I however do agree that giving short-hand would be a good idea.
 

[PATCH v2] rebase -i: support single-letter abbreviations for the actions

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:37

When you do many rebases, you can get annoyed by having to type out
the actions "edit" or "squash" in total.

This commit helps that, by allowing you to enter "e" instead of "edit",
"p" instead of "pick", or "s" instead of "squash".

Signed-off-by: Johannes Schindelin <redacted>
---

	On Fri, 28 Sep 2007, Junio C Hamano wrote:

	> I am not sure if we want to taint the words merge and amend like
	> this.  I was hoping someday you would allow people to reorder
	> something like this...

	Okay, you convinced me.

	> 
	>           e
	>            \     
	>  ---a---b---c---d
	> 
	> into something like this:
	> 
	>       e
	>        \     
	>  ---b'--c'--a'+d'

	I thought that this would be possible with "git rebase -p -i"?

	Ah no, that does not work; "-p" is not yet graceful enough to 
	accept reorders.  (But then, I do not see why the command should 
	be "merge" instead of the "pick" we already have...)

 git-rebase--interactive.sh |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 823291d..7a5aaa5 100755
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -232,14 +232,14 @@ do_next () {
 	'#'*|'')
 		mark_action_done
 		;;
-	pick)
+	pick|p)
 		comment_for_reflog pick
 
 		mark_action_done
 		pick_one $sha1 ||
 			die_with_patch $sha1 "Could not apply $sha1... $rest"
 		;;
-	edit)
+	edit|e)
 		comment_for_reflog edit
 
 		mark_action_done
@@ -254,7 +254,7 @@ do_next () {
 		warn
 		exit 0
 		;;
-	squash)
+	squash|s)
 		comment_for_reflog squash
 
 		has_action "$DONE" ||
@@ -263,7 +263,7 @@ do_next () {
 		mark_action_done
 		make_squash_message $sha1 > "$MSG"
 		case "$(peek_next_command)" in
-		squash)
+		squash|s)
 			EDIT_COMMIT=
 			USE_OUTPUT=output
 			cp "$MSG" "$SQUASH_MSG"
-- 
1.5.3.2.1102.g9487
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help