Code

Make fsck reachability avoid doing unnecessary work for
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 13 Apr 2005 19:35:08 +0000 (12:35 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 13 Apr 2005 19:35:08 +0000 (12:35 -0700)
parents that we reach multiple ways.

This doesn't matter right now. It _will_ matter once we have
complex revision graphs.

fsck-cache.c

index bb2b867611894a6e5e8321366ab29fa6b8df6665..34c80811c94f64f0f6bf0201c9b5c6d39d014877 100644 (file)
@@ -108,6 +108,9 @@ static void mark_reachable(struct revision *rev)
 {
        struct parent *p = rev->parent;
 
+       /* If we've been here already, don't bother */
+       if (rev->flags & REACHABLE)
+               return;
        rev->flags |= REACHABLE | USED;
        while (p) {
                mark_reachable(p->parent);