summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2008-05-03 17:24:28 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-05-04 17:41:27 -0700
commit050288d52dc5dc3f6c7716007c1069dd9f59feb7 (patch)
tree16d133049b6c9dfaf36e0125e01ff792270bbe21
parentdiff-lib.c: rename check_work_tree_entity() (diff)
downloadtgif-050288d52dc5dc3f6c7716007c1069dd9f59feb7.tar.xz
is_racy_timestamp(): do not check timestamp for gitlinks
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>
-rw-r--r--read-cache.c3
-rwxr-xr-xt/t7506-status-submodule.sh2
2 files changed, 3 insertions, 2 deletions
diff --git a/read-cache.c b/read-cache.c
index a92b25b59b..9ee125597e 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -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);
}
diff --git a/t/t7506-status-submodule.sh b/t/t7506-status-submodule.sh
index 8987c9eb70..a75130cdbb 100755
--- a/t/t7506-status-submodule.sh
+++ b/t/t7506-status-submodule.sh
@@ -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"
'