From: Jonathan Tan Date: Thu, 18 Jan 2018 22:31:09 GMT Subject: Re: What's cooking in git.git (Jan 2018, #02; Tue, 9) Message-ID: <20180118143109.bc0eb10b036411e0a5a3694f@google.com> In-Reply-To: On Thu, 18 Jan 2018 09:56:50 +0100 Christian Couder 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 = " 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.