Skip to content

Commit

Permalink
Merge branch 'jk/stash-loosen-safety' into maint
Browse files Browse the repository at this point in the history
* jk/stash-loosen-safety:
  stash: drop dirty worktree check on apply
  • Loading branch information
gitster committed May 4, 2011
2 parents 391b493 + e0e2a9c commit 0752000
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
4 changes: 1 addition & 3 deletions git-stash.sh
Expand Up @@ -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) ||
Expand Down
20 changes: 16 additions & 4 deletions t/t3903-stash.sh
Expand Up @@ -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 &&
Expand Down

0 comments on commit 0752000

Please sign in to comment.