On Thu, 18 Jan 2018 09:56:50 +0100 Christian Couder <christian.couder@xxxxxxxxx> wrote: > I am still not very happy with fetch_object() not returning anything. > I wonder what happens when that function is used to fetch from a repo > that cannot provide the requested object. My idea was to save a verification step - the caller of fetch_object() needs to reattempt the object load anyway (which includes a verification that the object exists), so I didn't see the need to have fetch_object() do it too. > Also I think the "extensions.partialclone = <remote>" config option is > not very future proof. If people start using partial clone, it is > likely that at some point they will need their repo to talk to more > than one remote that is partial clone enabled and I don't see how such > a config option can scale in this case. In the case that they want to talk to more than one partial-clone-enabled repo, I think that there still needs to be one "default" remote from which missing objects are fetched. I can think of a few reasons for that - for example, (a) we need to support commands that give a nonexistent-in-repo SHA-1 directly, and (b) existing Git code relies on the ability to fetch an object given only its SHA-1. (a) can be overcome by forbidding that (?) and (b) can be overcome by an overhaul of the object-fetching and object-using code, but I don't think both (a) and (b) will occur anytime soon.