t5520: test --rebase with multiple branches
authorPaul Tan <pyokagan@gmail.com>
Fri, 29 May 2015 11:44:42 +0000 (19:44 +0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 29 May 2015 16:15:24 +0000 (09:15 -0700)
Since rebasing on top of multiple upstream branches does not make sense,
since 51b2ead (disallow providing multiple upstream branches to rebase,
pull --rebase, 2009-02-18), git-pull explicitly disallowed specifying
multiple branches in the rebase case.

Implement tests to ensure that git-pull fails and prints out the
user-friendly error message in such a case.

Signed-off-by: Paul Tan <pyokagan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5520-pull.sh
index 872d765b5c396713909d81e289d5554ee48cd99f..90728e009470b501657502ace8d8477f3fd0acad 100755 (executable)
@@ -217,6 +217,15 @@ test_expect_success '--rebase' '
        test "$(git rev-parse HEAD^)" = "$(git rev-parse copy)" &&
        test new = "$(git show HEAD:file2)"
 '
+
+test_expect_success '--rebase fails with multiple branches' '
+       git reset --hard before-rebase &&
+       test_must_fail git pull --rebase . copy master 2>err &&
+       test "$(git rev-parse HEAD)" = "$(git rev-parse before-rebase)" &&
+       test_i18ngrep "Cannot rebase onto multiple branches" err &&
+       test modified = "$(git show HEAD:file)"
+'
+
 test_expect_success 'pull.rebase' '
        git reset --hard before-rebase &&
        test_config pull.rebase true &&