]> git.ipfire.org Git - thirdparty/git.git/commit
tree-walk: drop oid from traverse_info
authorJeff King <peff@peff.net>
Wed, 31 Jul 2019 04:38:15 +0000 (00:38 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 31 Jul 2019 20:34:25 +0000 (13:34 -0700)
commit9055384710dd8963b125f4f87c24d8f67d9fa24f
tree927c9d4670548c932c3b13e1bfcee33ca431943c
parent947208b725188eb499625ebc5c6e43d54c97e4fc
tree-walk: drop oid from traverse_info

As the previous commit shows, the presence of an oid in each level of
the traverse_info is confusing and ultimately not necessary. Let's drop
it to make it clear that it will not always be set (as well as convince
us that it's unused, and let the compiler catch any merges with other
branches that do add new uses).

Since the oid is part of name_entry, we'll actually stop embedding a
name_entry entirely, and instead just separately hold the pathname, its
length, and the mode.

This makes the resulting code slightly more verbose as we have to pass
those elements around individually. But it also makes it more clear what
each code path is going to use (and in most of the paths, we really only
care about the pathname itself).

A few of these conversions are noisier than they need to be, as they
also take the opportunity to rename "len" to "namelen" for clarity
(especially where we also have "pathlen" or "ce_len" alongside).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/merge-tree.c
cache-tree.c
tree-walk.c
tree-walk.h
unpack-trees.c