am: refresh the index at start and --resolved
authorJeff King <peff@peff.net>
Tue, 16 Aug 2011 00:13:07 +0000 (17:13 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 Aug 2011 18:15:41 +0000 (11:15 -0700)
If a file is unchanged but stat-dirty, we may erroneously
fail to apply patches, thinking that they conflict with a
dirty working tree.

This patch adds a call to "update-index --refresh". It comes
as late as possible, so that we don't bother with it for
thinks like "git rebase --abort", or when mbox-splitting
fails. However, it does come before we actually start
applying patches, meaning we will only call it once when we
start applying patches (or any time we return to "am" after
having resolved conflicts), and not once per patch.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-am.sh

index 6cdd591..f1a03c9 100755 (executable)
--- a/git-am.sh
+++ b/git-am.sh
@@ -507,6 +507,8 @@ else
        fi
 fi
 
        fi
 fi
 
+git update-index -q --refresh
+
 case "$resolved" in
 '')
        case "$HAS_HEAD" in
 case "$resolved" in
 '')
        case "$HAS_HEAD" in