From: Junio C Hamano <gitster@pobox.com>
Date: Thu, 4 Sep 2008 09:41:22 +0000 (-0700)
Subject: stash: refresh the index before deciding if the work tree is dirty
X-Git-Tag: v1.6.0.2~15
X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/1eff26c0e25652ec60e1f9f1c35fc02c8ad22d98

stash: refresh the index before deciding if the work tree is dirty

Unlike the case where the user does have a real change in the work tree,
refusing to work because of unclean stat information is not very helpful.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Nanako Shiraishi <nanako3@lavabit.com>
---

diff --git a/git-stash.sh b/git-stash.sh
index e15c12abc3..d799c76378 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -39,6 +39,7 @@ clear_stash () {
 create_stash () {
 	stash_msg="$1"
 
+	git update-index -q --refresh
 	if no_changes
 	then
 		exit 0
@@ -101,6 +102,7 @@ save_stash () {
 
 	stash_msg="$*"
 
+	git update-index -q --refresh
 	if no_changes
 	then
 		echo 'No local changes to save'
@@ -150,6 +152,7 @@ show_stash () {
 }
 
 apply_stash () {
+	git update-index -q --refresh &&
 	git diff-files --quiet --ignore-submodules ||
 		die 'Cannot restore on top of a dirty state'