Merge branch 'maint'
[gitweb.git] / t / t3406-rebase-message.sh
index 539108094345e3e0ba4cf03fc20a5ca6486fa230..e6a9a0d436f3a28a7de6eaadd7f1f223ae740c64 100755 (executable)
@@ -22,7 +22,8 @@ test_expect_success setup '
        git checkout topic &&
        quick_one A &&
        quick_one B &&
-       quick_one Z
+       quick_one Z &&
+       git tag start
 
 '
 
@@ -41,4 +42,36 @@ test_expect_success 'rebase -m' '
 
 '
 
+test_expect_success 'rebase --stat' '
+       git reset --hard start &&
+        git rebase --stat master >diffstat.txt &&
+        grep "^ fileX |  *1 +$" diffstat.txt
+'
+
+test_expect_success 'rebase w/config rebase.stat' '
+       git reset --hard start &&
+        git config rebase.stat true &&
+        git rebase master >diffstat.txt &&
+        grep "^ fileX |  *1 +$" diffstat.txt
+'
+
+test_expect_success 'rebase -n overrides config rebase.stat config' '
+       git reset --hard start &&
+        git config rebase.stat true &&
+        git rebase -n master >diffstat.txt &&
+        ! grep "^ fileX |  *1 +$" diffstat.txt
+'
+
+# Output to stderr:
+#
+#     "Does not point to a valid commit: invalid-ref"
+#
+# NEEDSWORK: This "grep" is fine in real non-C locales, but
+# GETTEXT_POISON poisons the refname along with the enclosing
+# error message.
+test_expect_success 'rebase --onto outputs the invalid ref' '
+       test_must_fail git rebase --onto invalid-ref HEAD HEAD 2>err &&
+       test_i18ngrep "invalid-ref" err
+'
+
 test_done