]> git.ipfire.org Git - thirdparty/git.git/commit - builtin/fsck.c
fsck: remove redundant parse_tree() invocation
authorJonathan Tan <jonathantanmy@google.com>
Tue, 18 Jul 2017 22:28:48 +0000 (15:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Jul 2017 21:53:51 +0000 (14:53 -0700)
commitad2db4030e42890e569de529e3cd61a8d03de497
tree81f96de43298ae531c17517756ee4a7cfc6f0a90
parentcac25fc330fc26050dcbc92c4bfff169a4848e93
fsck: remove redundant parse_tree() invocation

If obj->type == OBJ_TREE, an invocation of fsck_walk() will invoke
parse_tree() and return quickly if that returns nonzero, so it is of no
use for traverse_one_object() to invoke parse_tree() in this situation
before invoking fsck_walk(). Remove that code.

The behavior of traverse_one_object() is changed slightly in that it now
returns -1 instead of 1 in the case that parse_tree() fails, but this is
not an issue because its only caller (traverse_reachable) does not care
about the value as long as it is nonzero.

This code was introduced in commit 271b8d2 ("builtin-fsck: move away
from object-refs to fsck_walk", 2008-02-25). The same issue existed in
that commit.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fsck.c