Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: > Junio, would you prefer that the combined effort be in one single patch > series or separated out into 3? The way I see it, there are two > independent patch series - this one (object filter support in rev-list > and pack-objects) and my one (repo extension for partial clone, fsck, > and gc), and one patch series that depends on these two. I agree with the general 3-way split "here is how you systematically omit objects from enumeration (so that you an later use it to produce incomplete packs for transferring)", "here is how you deal with missing objects by treating them as non-errors when they are anchored by objects you got from the promisor", and "now both pieces are in there, let's plumb through the omitting enumeration code to pack generator used for object transfer, and add a mechanism for the two sides to communicate the parameter for object omission". I agree that Jeff's (what should we call it? the "object-filter" topic?) is interesting on its own and it is a good idea to have it as a separate topic. If you remove the "size based filtering" from your series (again, what should we call it?), however, does the remainder still have enough to demonstrate and exercise the features needed for "partial clone", though? The resulting repository will not lack any object that needs to be anchored by objects you obtained from your promisor unless you have some filtering capability in the series, which means bugs in that series will long lay undetected until the third step that depend on the two series starts working, and at that time, we would have to sift bugs we find to see if they were bugs in the code added by the second topic or new bugs in the third topic, reducing the value we might gain by keeping these separate topics. That's the one thing that worries me.