rebase -i: handle core.commentChar=auto
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 21 Nov 2016 14:18:29 +0000 (15:18 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Nov 2016 19:00:41 +0000 (11:00 -0800)
When 84c9dc2 (commit: allow core.commentChar=auto for character auto
selection, 2014-05-17) extended the core.commentChar functionality to
allow for the value 'auto', it forgot that rebase -i was already taught to
handle core.commentChar, and in turn forgot to let rebase -i handle that
new value gracefully.

Reported by Taufiq Hoven.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh
t/t3404-rebase-interactive.sh
index 655ebaa4717fe6e43b4b16a69e5eb282140edd6d..c167bc36b38330834f730078d83a2c75845ba73c 100644 (file)
@@ -93,8 +93,17 @@ eval '
 GIT_CHERRY_PICK_HELP="$resolvemsg"
 export GIT_CHERRY_PICK_HELP
 
-comment_char=$(git config --get core.commentchar 2>/dev/null | cut -c1)
-: ${comment_char:=#}
+comment_char=$(git config --get core.commentchar 2>/dev/null)
+case "$comment_char" in
+'' | auto)
+       comment_char="#"
+       ;;
+?)
+       ;;
+*)
+       comment_char=$(echo "$comment_char" | cut -c1)
+       ;;
+esac
 
 warn () {
        printf '%s\n' "$*" >&2
index d941f0a69ffa02e8f3744f2bc68b85b61b66d46d..5d0a7dca9d18a05ccfaa64f4cfaa406cea9559d9 100755 (executable)
@@ -983,7 +983,7 @@ test_expect_success 'rebase -i respects core.commentchar' '
        test B = $(git cat-file commit HEAD^ | sed -ne \$p)
 '
 
-test_expect_failure 'rebase -i respects core.commentchar=auto' '
+test_expect_success 'rebase -i respects core.commentchar=auto' '
        test_config core.commentchar auto &&
        write_script copy-edit-script.sh <<-\EOF &&
        cp "$1" edit-script