2018-02-15 8:53 GMT+03:00 Jeff King <peff@xxxxxxxx>: > On Mon, Feb 12, 2018 at 08:08:54AM +0000, Olga Telezhnaya wrote: > >> Remove connection between expand_data variable >> in cat-file and in ref-filter. >> It will help further to get rid of using expand_data in cat-file. > > I have to admit I'm confused at this point about what is_cat_file is > for, or even why we need cat_file_data. Shouldn't these items be handled > by their matching ref-filter atoms at this point? We discussed that earlier outside of mailing list, and I even tried to implement that idea and spent a couple of days to prove that it's not possible. The problem is that the list of atoms is made dynamically, and we can't store pointers to any values in each atom. That's why we need separate cat_file_info variable that is outside of main atom list. We also need is_cat_file because we still have some part of logic that is different for cat-file and for all other commands, and sometimes we need to know that information. > > -Peff