Christian Couder <christian.couder@xxxxxxxxx> writes: > Could you give a bit more details about the use cases this is designed for? > It seems that when people review my work they want a lot of details > about the use cases, so I guess they would also be interesting in > getting this kind of information for your work too. > > Could this support users who would be interested in lazily cloning > only one kind of files, for example *.jpeg? I do not know about others, but the reason why I was not interested in finding out "use cases" is because the value of this series is use-case agnostic. At least to me, the most interesting part of the series is that it allows you to receive a set of objects transferred from the other side that lack some of objects that would otherwise be required to be here for connectivity purposes, and it introduces a mechanism to allow object transfer layer, gc and fsck to work well together in the resulting repository that deliberately lacks some objects. The transfer layer marks the objects obtained from a specific remote as such, and gc and fsck are taught not to try to follow a missing link or diagnose a missing link as an error, if a missing link is expected using the mark the transfer layer left. and it does so in such a way that it is use-case agnostic. The mechanism does not care how the objects to be omitted were chosen, and how the omission criteria were negotiated between the sender and the receiver of the pack. I think the series comes with one filter that is size-based, but I view it as a technology demonstration. It does not have to be the primary use case. IOW, I do not think the series is meant as a declaration that size-based filtering is the most important thing and other omission criteria are less important. You should be able to build path based omission (i.e. narrow clone) or blobtype based omission. Depending on your needs, you may want different object omission criteria. It is something you can build on top. And the work done on transfer/gc/fsck in this series does not have to change to accommodate these different "use cases".