is_racy_timestamp(): do not check timestamp for gitlinks
authorJunio C Hamano <gitster@pobox.com>
Sun, 4 May 2008 00:24:28 +0000 (17:24 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 May 2008 00:41:27 +0000 (17:41 -0700)
Because we do not even check the timestamp to determie if a gitlink
is up to date or not, triggering the racy-timestamp check for gitlinks
does not make sense.

This fixes the recently added test in t7506.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
read-cache.c
t/t7506-status-submodule.sh

index a92b25b59bf0e096942bca126542a1ea411b525b..9ee125597ecaf5aa95a43148d631343a7de8b4b4 100644 (file)
@@ -257,7 +257,8 @@ static int ce_match_stat_basic(struct cache_entry *ce, struct stat *st)
 
 static int is_racy_timestamp(const struct index_state *istate, struct cache_entry *ce)
 {
-       return (istate->timestamp &&
+       return (!S_ISGITLINK(ce->ce_mode) &&
+               istate->timestamp &&
                ((unsigned int)istate->timestamp) <= ce->ce_mtime);
 }
 
index 8987c9eb70b977fa897967749ca096646009b00a..a75130cdbb55be157c915f4fc1397227a78441ec 100755 (executable)
@@ -30,7 +30,7 @@ test_expect_success 'status clean (empty submodule dir)' '
        git status |
        grep "nothing to commit"
 '
-test_expect_failure 'status -a clean (empty submodule dir)' '
+test_expect_success 'status -a clean (empty submodule dir)' '
        git status -a |
        grep "nothing to commit"
 '