diff options
| author | Junio C Hamano <gitster@pobox.com> | 2011-04-27 11:36:41 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2011-04-27 11:36:41 -0700 |
| commit | 6213ccaac90e2eed50739daf9097c054c8317215 (patch) | |
| tree | d05dcc3b9cd7e0be7ee3f294fd5f29f764052e93 | |
| parent | 9cedd16c62e12521f35b44e10bba80bfe261e69c (diff) | |
| parent | e0e2a9cbfa938d0f1e9857d5ca5b196360663440 (diff) | |
| download | git-6213ccaac90e2eed50739daf9097c054c8317215.tar.xz | |
Merge branch 'jk/stash-loosen-safety'
* jk/stash-loosen-safety:
stash: drop dirty worktree check on apply
| -rwxr-xr-x | git-stash.sh | 4 | ||||
| -rwxr-xr-x | t/t3903-stash.sh | 20 |
2 files changed, 17 insertions, 7 deletions
diff --git a/git-stash.sh b/git-stash.sh index a305fb19f1..fbd4bc152d 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -344,9 +344,7 @@ apply_stash () { assert_stash_like "$@" - git update-index -q --refresh && - git diff-files --quiet --ignore-submodules || - die 'Cannot apply to a dirty working tree, please stage your changes' + git update-index -q --refresh || die 'unable to refresh index' # current index state c_tree=$(git write-tree) || diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index f62aaf5816..5fcf52a071 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -37,14 +37,26 @@ test_expect_success 'parents of stash' ' test_cmp output expect ' -test_expect_success 'apply needs clean working directory' ' - echo 4 > other-file && +test_expect_success 'apply does not need clean working directory' ' + echo 4 >other-file && git add other-file && - echo 5 > other-file && - test_must_fail git stash apply + echo 5 >other-file && + git stash apply && + echo 3 >expect && + test_cmp expect file +' + +test_expect_success 'apply does not clobber working directory changes' ' + git reset --hard && + echo 4 >file && + test_must_fail git stash apply && + echo 4 >expect && + test_cmp expect file ' test_expect_success 'apply stashed changes' ' + git reset --hard && + echo 5 >other-file && git add other-file && test_tick && git commit -m other-file && |
