Re: [PATCH 0/2] Avoiding errors when partial cloning a tagged blob
- Date: Mon, 9 Jul 2018 10:10:07 -0700
- From: Jonathan Tan <jonathantanmy@xxxxxxxxxx>
- Subject: Re: [PATCH 0/2] Avoiding errors when partial cloning a tagged blob
> I think that refs in files-backend is a bit hard to update to
> annotate with extra information like "is this merely promising or a
> tip of the connectivity graph?" and agree that we should not make
> refs promisors.
OK, we agree on this :-)
> Such an otherwise unreferenced blob could be made into a promised
> object by the promisor repository, though, I think. It can include
> a synthetic tree that points at such a blob in the pack stream data
> if it knows that the resulting pack will be marked with the
> .promisor bit, and by doing so, there is no need to update the
> client side, no?
Yes, that is possible, but I think the client side still needs to be
updated, for the same reason as in my implementation (the client should
check that the server sent all necessary objects - the blob itself in my
case, and the synthetic tree in yours).
I think that if we were planning to introduce a synthetic tree, though,
it would be better just to include the object itself (as in my
implementation). In both solutions, both the protocol and the server
need to be updated, but existing clients will still work (minus the
checking that would still be desirable with both solutions).