OSDN Git Service

Merge branch 'kd/pull-rebase-autostash'
authorJunio C Hamano <gitster@pobox.com>
Mon, 17 Aug 2015 22:07:50 +0000 (15:07 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Aug 2015 22:07:50 +0000 (15:07 -0700)
"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

1  2 
t/t5520-pull.sh

diff --cc 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 &&