From: Kjetil Barvik Date: Thu, 19 Feb 2009 20:08:30 +0000 (+0100) Subject: verify_uptodate(): add ce_uptodate(ce) test X-Git-Tag: v1.6.3-rc0~147^2~7 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1dcafcc0;p=git.git verify_uptodate(): add ce_uptodate(ce) test If we inside verify_uptodate() can already tell from the ce entry that it is already uptodate by testing it with ce_uptodate(ce), there is no need to call lstat(2) and ie_match_stat() afterwards. And, reading from the commit log message from: commit eadb5831342bb2e756fa05c03642c4aa1929d4f5 Author: Junio C Hamano Date: Fri Jan 18 23:45:24 2008 -0800 Avoid running lstat(2) on the same cache entry. this also seems to be correct usage of the ce_uptodate() macro introduced by that patch. This will avoid lots of lstat(2) calls in some cases, for example by running the 'git checkout' command. Signed-off-by: Kjetil Barvik Signed-off-by: Junio C Hamano --- diff --git a/unpack-trees.c b/unpack-trees.c index 11902cd51..9fe0cd5f9 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -430,7 +430,7 @@ static int verify_uptodate(struct cache_entry *ce, { struct stat st; - if (o->index_only || o->reset) + if (o->index_only || o->reset || ce_uptodate(ce)) return 0; if (!lstat(ce->name, &st)) {