Re: [PATCH v2 3/3] upload-pack: allow configuring a missing-action

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christian Couder <christian.couder@xxxxxxxxx> writes:

>> Repository S borrows from its "promisor" X, and repository C which
>> initially cloned from S borrows from its "promisor" S.  Even if C
>> wants an object in order to fill in the gap in its object graph, S
>> may not have it (and S itself may have no need for that object), and
>> in such a case, bypassing S and let C go directly to X would make
>> sense.
> ...
>>
>> It feels utterly irresponsible to give an option to set up a server
>> that essentially declares: I'll serve objects you ask me as best
>> efforts basis, the pack stream I'll give you may not have all
>> objects you asked for and missing some objects, and when I do so, I
>> am not telling you which objects I omitted.
>
> I don't think it's irresponsible. The client anyways checks that it
> got something usable in the same way as it does when it performs a
> partial fetch or clone. The fetch or clone fails if that's not the
> case. For example if the checkout part of a clone needs some objects
> but cannot get them, the whole clone fails.

But then what can the repository C do after seeing such a failure?

With the design, S does not even consult C to see if C knows about
X.  Without knowing that, it cannot safely decide that it does not
have to send objects that can be obtained from X to C.  Instead, S
simply say "if C requests an object that I do not have, just ignore
it and let C grab it from somewhere else".  How would it not be an
irresponsible design?






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux