Commit 19a7fcb (allow pull --rebase on branch yet to be born,
2009-08-11) special cases git-pull on an unborn branch in a different
code path such that git-pull --rebase is still valid even though there
is no HEAD yet.
This code path still ensures that there is no index in order not to lose
any staged changes. Implement a test to ensure that this check is
triggered.
Signed-off-by: Paul Tan <redacted>
---
* Renamed "out" to "err"
* Quoted command substitution and file content comparisons.
t/t5520-pull.sh | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index e957368..96d2e7c 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -413,6 +413,21 @@ test_expect_success 'pull --rebase works on branch yet to be born' '
test_cmp expect actual
'
+test_expect_success 'pull --rebase fails on unborn branch with staged changes' '
+ test_when_finished "rm -rf empty_repo2" &&
+ git init empty_repo2 &&
+ (
+ cd empty_repo2 &&
+ echo staged-file >staged-file &&
+ git add staged-file &&
+ verbose test "$(git ls-files)" = staged-file &&
+ test_must_fail git pull --rebase .. master 2>../err &&
+ verbose test "$(git ls-files)" = staged-file &&
+ verbose test "$(git show :staged-file)" = staged-file
+ ) &&
+ test_i18ngrep "unborn branch with changes added to the index" err
+'
+
test_expect_success 'setup for detecting upstreamed changes' '
mkdir src &&
(cd src &&
--
2.1.4