"Ævar Arnfjörð Bjarmason" <avarab@xxxxxxxxx> writes: > As noted in [1] the code that made it in as part of > 9c4d58ff2c3 (ls-tree: split up "fast path" callbacks, 2022-03-23) was > a "maybe a good idea, maybe not" RFC-quality patch. I hadn't looked > very carefully at the resulting patterns. > > The implementation shared the "struct show_tree_data data", which was > introduced in e81517155e0 (ls-tree: introduce struct "show_tree_data", > 2022-03-23) both for use in 455923e0a15 (ls-tree: introduce "--format" > option, 2022-03-23), and because the "fat" callback hadn't been split > up as 9c4d58ff2c3 did. > > Now that that's been done we can see that most of what > show_tree_common() was doing could be done lazily by the callbacks > themselves, who in the pre-image were often using an odd mis-match of > their own arguments and those same arguments stuck into the "data" > structure. Let's also have the callers initialize the "type", rather > than grabbing it from the "data" structure afterwards. > > 1. https://lore.kernel.org/git/cover-0.7-00000000000-20220310T134811Z-avarab@xxxxxxxxx/ Because in "show_tree_common(&data, &recurse, oid, base, pathname, mode)", the "data" and the other args exist redundant, we could just not to pass "data", because it's enough, do I understand right? Thanks.