Browse Source

Merge branch 'jk/stash-loosen-safety'

* jk/stash-loosen-safety:
  stash: drop dirty worktree check on apply
maint
Junio C Hamano 14 years ago
parent
commit
6213ccaac9
  1. 4
      git-stash.sh
  2. 16
      t/t3903-stash.sh

4
git-stash.sh

@ -344,9 +344,7 @@ apply_stash () { @@ -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) ||

16
t/t3903-stash.sh

@ -37,14 +37,26 @@ test_expect_success 'parents of stash' ' @@ -37,14 +37,26 @@ test_expect_success 'parents of stash' '
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 &&
git add 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' '
git reset --hard &&
echo 5 >other-file &&
git add other-file &&
test_tick &&
git commit -m other-file &&

Loading…
Cancel
Save