On Wed, Jan 10, 2018 at 09:36:41AM +0000, Olga Telezhnaya wrote: > Make valid_atom as a function parameter, > there could be another variable further. > Need that for further reusing of formatting logic in cat-file.c. > > We do not need to allow users to pass their own valid_atom variable in > global functions like verify_ref_format because in the end we want to > have same set of valid atoms for all commands. But, as a first step > of migrating, I create further another version of valid_atom > for cat-file. I agree in the end we'd want a single valid_atom list. It doesn't look like we hit that end state in this series, though. I guess I'm not quite clear on why we're not adding these new atoms to ref-filter (and for-each-ref) right away, though. We already have the first three (name, type, and size), and we'd just need to support %(rest) and %(deltabase). I think %(rest) doesn't really make sense for for-each-ref (we're not reading any input), but it could expand to the empty string by default (or even throw an error if the caller asks us not to support it). IOW, the progression I'd expect in a series like this is: 1. Teach ref-filter.c to support everything that cat-file can do. 2. Convert cat-file to use ref-filter.c. -Peff