summaryrefslogtreecommitdiff
path: root/revision.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-03-08 20:36:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-03-08 20:36:27 (GMT)
commitd5120daba4f91c97fb9eb77e32f0f9e009bb515a (patch)
treed3fb871acb99c442aa60fb26df7819cb45e719c7 /revision.c
parent7519a60ffa3f811ec49fd9956e284ff90f3b1cf1 (diff)
parentebbed3ba04ce8e3cd9dff0e86717fb7e3d42db37 (diff)
downloadgit-d5120daba4f91c97fb9eb77e32f0f9e009bb515a.zip
git-d5120daba4f91c97fb9eb77e32f0f9e009bb515a.tar.gz
git-d5120daba4f91c97fb9eb77e32f0f9e009bb515a.tar.bz2
Merge branch 'ds/mark-parents-uninteresting-optim'
Micro optimization in revision traversal code. * ds/mark-parents-uninteresting-optim: revision.c: reduce object database queries
Diffstat (limited to 'revision.c')
-rw-r--r--revision.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/revision.c b/revision.c
index 5c1cb72..b42c836 100644
--- a/revision.c
+++ b/revision.c
@@ -113,7 +113,8 @@ void mark_parents_uninteresting(struct commit *commit)
* it is popped next time around, we won't be trying
* to parse it and get an error.
*/
- if (!has_object_file(&commit->object.oid))
+ if (!commit->object.parsed &&
+ !has_object_file(&commit->object.oid))
commit->object.parsed = 1;
if (commit->object.flags & UNINTERESTING)