teach `git rebase -i` to recognise short command-names when using the '--autosquash' option. This allows commit with titles beginning with "s! ..." and "f! ..." to be treated the same way as "squash! ..." and "fixup! ..." respectively. Signed-off-by: Liam Beguin <liambeguin@xxxxxxxxx> --- Documentation/git-rebase.txt | 2 ++ git-rebase--interactive.sh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 53f4e144444a..3e49d8b046ca 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -437,6 +437,8 @@ without an explicit `--interactive`. commit from `pick` to `squash` (or `fixup`). Ignores subsequent "fixup! " or "squash! " after the first, in case you referred to an earlier fixup/squash with `git commit --fixup/--squash`. + Note that their short counterparts, namely "s! ..." and "f! ..." + behave the same way. + This option is only valid when the `--interactive` option is used. + diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 4fa621062cdf..61450064c5c4 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -790,7 +790,7 @@ rearrange_squash () { do test -z "${format}" || message=$(git log -n 1 --format="%s" ${sha1}) case "$message" in - "squash! "*|"fixup! "*) + "squash! "*|"s! "*|"fixup! "*|"f! "*) action="${message%%!*}" rest=$message prefix= @@ -798,7 +798,7 @@ rearrange_squash () { while : do case "$rest" in - "squash! "*|"fixup! "*) + "squash! "*|"s! "*|"fixup! "*|"f! "*) prefix="$prefix${rest%%!*}," rest="${rest#*! }" ;; -- 2.9.3