diff options
Diffstat (limited to 't/t3903-stash.sh')
-rwxr-xr-x | t/t3903-stash.sh | 68 |
1 files changed, 63 insertions, 5 deletions
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 84b039e573..f0a82be9de 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -564,7 +564,7 @@ test_expect_success 'stash show format defaults to --stat' ' 1 file changed, 1 insertion(+) EOF git stash show ${STASH_ID} >actual && - test_i18ncmp expected actual + test_cmp expected actual ' test_expect_success 'stash show - stashes on stack, stash-like argument' ' @@ -792,7 +792,7 @@ test_expect_success 'apply: show same status as git status (relative to ./)' ' git stash apply ) | sed -e 1d >actual && # drop "Saved..." - test_i18ncmp expect actual + test_cmp expect actual ' cat >expect <<EOF @@ -859,7 +859,7 @@ test_expect_success 'setup stash with index and worktree changes' ' git stash ' -test_expect_success 'stash list implies --first-parent -m' ' +test_expect_success 'stash list -p shows simple diff' ' cat >expect <<-EOF && stash@{0} @@ -1114,7 +1114,7 @@ test_expect_success 'stash push -p with pathspec shows no changes only once' ' git stash push -p foo >actual && echo "No local changes to save" >expect && git reset --hard HEAD~ && - test_i18ncmp expect actual + test_cmp expect actual ' test_expect_success 'push <pathspec>: show no changes when there are none' ' @@ -1124,7 +1124,7 @@ test_expect_success 'push <pathspec>: show no changes when there are none' ' git stash push foo >actual && echo "No local changes to save" >expect && git reset --hard HEAD~ && - test_i18ncmp expect actual + test_cmp expect actual ' test_expect_success 'push: <pathspec> not in the repository errors out' ' @@ -1307,4 +1307,62 @@ test_expect_success 'stash -c stash.useBuiltin=false warning ' ' test_must_be_empty err ' +test_expect_success 'git stash succeeds despite directory/file change' ' + test_create_repo directory_file_switch_v1 && + ( + cd directory_file_switch_v1 && + test_commit init && + + test_write_lines this file has some words >filler && + git add filler && + git commit -m filler && + + git rm filler && + mkdir filler && + echo contents >filler/file && + git stash push + ) +' + +test_expect_success 'git stash can pop file -> directory saved changes' ' + test_create_repo directory_file_switch_v2 && + ( + cd directory_file_switch_v2 && + test_commit init && + + test_write_lines this file has some words >filler && + git add filler && + git commit -m filler && + + git rm filler && + mkdir filler && + echo contents >filler/file && + cp filler/file expect && + git stash push --include-untracked && + git stash apply --index && + test_cmp expect filler/file + ) +' + +test_expect_success 'git stash can pop directory -> file saved changes' ' + test_create_repo directory_file_switch_v3 && + ( + cd directory_file_switch_v3 && + test_commit init && + + mkdir filler && + test_write_lines some words >filler/file1 && + test_write_lines and stuff >filler/file2 && + git add filler && + git commit -m filler && + + git rm -rf filler && + echo contents >filler && + cp filler expect && + git stash push --include-untracked && + git stash apply --index && + test_cmp expect filler + ) +' + test_done |