Merge branch 'jk/stash-loosen-safety' into maint

* jk/stash-loosen-safety:
  stash: drop dirty worktree check on apply
This commit is contained in:
Junio C Hamano 2011-05-04 14:57:15 -07:00
commit 0752000c2a
2 changed files with 17 additions and 7 deletions

View File

@ -344,9 +344,7 @@ apply_stash () {
assert_stash_like "$@" assert_stash_like "$@"
git update-index -q --refresh && git update-index -q --refresh || die 'unable to refresh index'
git diff-files --quiet --ignore-submodules ||
die 'Cannot apply to a dirty working tree, please stage your changes'
# current index state # current index state
c_tree=$(git write-tree) || c_tree=$(git write-tree) ||

View File

@ -37,14 +37,26 @@ test_expect_success 'parents of stash' '
test_cmp output expect test_cmp output expect
' '
test_expect_success 'apply needs clean working directory' ' test_expect_success 'apply does not need clean working directory' '
echo 4 > other-file && echo 4 >other-file &&
git add other-file && git add other-file &&
echo 5 > other-file && echo 5 >other-file &&
test_must_fail git stash apply 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' ' test_expect_success 'apply stashed changes' '
git reset --hard &&
echo 5 >other-file &&
git add other-file && git add other-file &&
test_tick && test_tick &&
git commit -m other-file && git commit -m other-file &&