From: Jeff Hostetler Date: Wed, 27 Sep 2017 17:09:42 GMT Subject: Re: [PATCH 07/13] object-filter: common declarations for object filtering Message-ID: <7774ff8d-3a53-860d-9343-292938d59d12@jeffhostetler.com> In-Reply-To: <20170926153950.a147c48ce62f73702eff7ebb@google.com> On 9/26/2017 6:39 PM, Jonathan Tan wrote: > On Fri, 22 Sep 2017 20:30:11 +0000 > Jeff Hostetler wrote: > >> Makefile | 1 + >> object-filter.c | 269 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> object-filter.h | 173 ++++++++++++++++++++++++++++++++++++ >> 3 files changed, 443 insertions(+) >> create mode 100644 object-filter.c >> create mode 100644 object-filter.h > > I think these and list-objects-filter-* are multiple levels of > indirection too many. Would a single file with a few implementations of > filter_object_fn be sufficient? I did that in my first draft and I found it confusing. Each filter has 3 parts (some filter-specific data structures, a filter callback routine, a driver to call the traverse code). I found it easier to reason about each filter in isolation. And it makes it easier to work on each independently and keep their inclusion in separate commits.