"Assume unchanged" git: --really-refresh fix.
authorJunio C Hamano <junkio@cox.net>
Thu, 9 Feb 2006 08:55:17 +0000 (00:55 -0800)
committerJunio C Hamano <junkio@cox.net>
Thu, 9 Feb 2006 08:55:17 +0000 (00:55 -0800)
The earlier round failed to make --really-refresh to mark
up-to-date index entry to valid again due to a trivial thinko.

Signed-off-by: Junio C Hamano <junkio@cox.net>
update-index.c

index bb730509b871381ffbd8457bd38ce940d78ba50d..ce1db38d16928d8b5085cb6e177f40fff9a978cf 100644 (file)
@@ -161,8 +161,13 @@ static struct cache_entry *refresh_entry(struct cache_entry *ce, int really)
                return ERR_PTR(-errno);
 
        changed = ce_match_stat(ce, &st, really);
-       if (!changed)
-               return NULL;
+       if (!changed) {
+               if (really && assume_unchanged &&
+                   !(ce->ce_flags & htons(CE_VALID)))
+                       ; /* mark this one VALID again */
+               else
+                       return NULL;
+       }
 
        if (ce_modified(ce, &st, really))
                return ERR_PTR(-EINVAL);