rebase: use 'git stash store' to simplify logic
[gitweb.git] / t / t3903-stash.sh
index cd042633ba5ec36be89507d25254b32a8f0b98ae..75189ec8e8b1dc2d778e4f7ca15dd0ffe8c49bac 100755 (executable)
@@ -610,7 +610,7 @@ test_expect_success 'stash apply shows status same as git status (relative to cu
                git stash apply
        ) |
        sed -e 1,2d >actual && # drop "Saved..." and "HEAD is now..."
-       test_cmp expect actual
+       test_i18ncmp expect actual
 '
 
 cat > expect << EOF
@@ -637,4 +637,23 @@ test_expect_success 'stash where working directory contains "HEAD" file' '
        test_cmp output expect
 '
 
+test_expect_success 'store called with invalid commit' '
+       test_must_fail git stash store foo
+'
+
+test_expect_success 'store updates stash ref and reflog' '
+       git stash clear &&
+       git reset --hard &&
+       echo quux >bazzy &&
+       git add bazzy &&
+       STASH_ID=$(git stash create) &&
+       git reset --hard &&
+       ! grep quux bazzy &&
+       git stash store -m quuxery $STASH_ID &&
+       test $(cat .git/refs/stash) = $STASH_ID &&
+       grep $STASH_ID .git/logs/refs/stash &&
+       git stash pop &&
+       grep quux bazzy
+'
+
 test_done