[PATCH/RFC v2 3/3] verify_uptodate(): add ce_uptodate(ce) test
- From
- Kjetil Barvik <barvik@broadpark.no>
- Date
- Feb 19, 2009, 20:08 UTC
- Message-ID
- <e00cfda6e7d884680f0d20ad714465672bb9a232.1235071656.git.barvik@broadpark.no>
- In-Reply-To
- <cover.1235071656.git.barvik@broadpark.no>
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 <gitster@pobox.com>
Date: Fri Jan 18 23:45:24 2008 -0800Avoid 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 <barvik@broadpark.no> --- unpack-trees.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/unpack-trees.c b/unpack-trees.c index 44714cc..1687aee 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -450,7 +450,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)) {
-- 1.6.1.349.g99fa5