Merge branch 'nd/checkout-noisy'
[gitweb.git] / t / t3406-rebase-message.sh
index 38bd876cabf9757cce439be90c0f1e094225cac3..f64b130cb805bbca8475f3c262693fa0faa2cafe 100755 (executable)
@@ -91,4 +91,40 @@ test_expect_success 'error out early upon -C<n> or --whitespace=<bad>' '
        test_i18ngrep "Invalid whitespace option" err
 '
 
+test_expect_success 'GIT_REFLOG_ACTION' '
+       git checkout start &&
+       test_commit reflog-onto &&
+       git checkout -b reflog-topic start &&
+       test_commit reflog-to-rebase &&
+
+       git rebase reflog-onto &&
+       git log -g --format=%gs -3 >actual &&
+       cat >expect <<-\EOF &&
+       rebase finished: returning to refs/heads/reflog-topic
+       rebase: reflog-to-rebase
+       rebase: checkout reflog-onto
+       EOF
+       test_cmp expect actual &&
+
+       git checkout -b reflog-prefix reflog-to-rebase &&
+       GIT_REFLOG_ACTION=change-the-reflog git rebase reflog-onto &&
+       git log -g --format=%gs -3 >actual &&
+       cat >expect <<-\EOF &&
+       rebase finished: returning to refs/heads/reflog-prefix
+       change-the-reflog: reflog-to-rebase
+       change-the-reflog: checkout reflog-onto
+       EOF
+       test_cmp expect actual
+'
+
+test_expect_success 'rebase -i onto unrelated history' '
+       git init unrelated &&
+       test_commit -C unrelated 1 &&
+       git -C unrelated remote add -f origin "$PWD" &&
+       git -C unrelated branch --set-upstream-to=origin/master &&
+       git -C unrelated -c core.editor=true rebase -i -v --stat >actual &&
+       test_i18ngrep "Changes to " actual &&
+       test_i18ngrep "5 files changed" actual
+'
+
 test_done