From: Junio C Hamano Date: Mon, 17 Aug 2015 22:07:50 +0000 (-0700) Subject: Merge branch 'kd/pull-rebase-autostash' X-Git-Tag: v2.6.0-rc0~70 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/e69b40828070b71c423820d1e35d5fb1e5b1a550 Merge branch 'kd/pull-rebase-autostash' "git pull --rebase" has been taught to pay attention to rebase.autostash configuration. * kd/pull-rebase-autostash: pull: allow dirty tree when rebase.autostash enabled --- e69b40828070b71c423820d1e35d5fb1e5b1a550 diff --cc t/t5520-pull.sh index f4a7193677,f62c5b09b5..a0013ee32f --- a/t/t5520-pull.sh +++ b/t/t5520-pull.sh @@@ -233,18 -119,21 +233,29 @@@ test_expect_success '--rebase' git commit -m "new file" && git tag before-rebase && git pull --rebase . copy && - test $(git rev-parse HEAD^) = $(git rev-parse copy) && - test new = $(git show HEAD:file2) + 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 succeeds with dirty working directory and rebase.autostash set' ' + test_config rebase.autostash true && + git reset --hard before-rebase && + echo dirty >new_file && + git add new_file && + git pull --rebase . copy && + test_cmp_rev HEAD^ copy && + test "$(cat new_file)" = dirty && + test "$(cat file)" = "modified again" + ' + test_expect_success 'pull.rebase' ' git reset --hard before-rebase && test_config pull.rebase true &&