On Thu, 28 Sep 2017 10:33:39 -0400 Jeff Hostetler <git@xxxxxxxxxxxxxxxxx> wrote: > Maybe. What I have here now is the result of adding these arguments to > rev-list and pack-objects (in the current patch series), and also to > fetch-pack, fetch, clone, upload-pack, index-pack, and the transport and > protocol code (in a follow-on patch series that I've omitted for the moment). > And there will probably be a few more, such as fsck, gc, and etc. I hesitate > to refine the macros too much further until we've agreement on the overall > approach and terms. Fair enough. My current opinion on the overall approach (others might differ, of course): - Filtering based on a sparse checkout specification in rev-list and pack-objects sounds useful to me, and is worth the filtering mechanism. - Filtering based on size (or based on type) still doesn't seem useful to me in rev-list, but if we're going to implement the filtering mechanism anyway, we might as well use the mechanism. - Besides my comments in [1], I think the API could still be slightly better organized. For example, object-filter probably should be the one to define the traverse_ function that takes in struct object_filter_options, and optionally a set of excluded objects to populate. [1] https://public-inbox.org/git/20170927170533.65498396e008fa148a3fda90@xxxxxxxxxx/