]> git.ipfire.org Git - thirdparty/git.git/commit - remote.c
fetch-pack: implement ref-in-want
authorBrandon Williams <bmwill@google.com>
Wed, 27 Jun 2018 22:30:23 +0000 (15:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 28 Jun 2018 16:33:30 +0000 (09:33 -0700)
commit733020517a1baa6f4f76bb7bf48d8d8d14eecd6c
treecb4e089898020b2b65f045529284f3756f303842
parent989b8c4452f63f415c276df348defce6df613696
fetch-pack: implement ref-in-want

Implement ref-in-want on the client side so that when a server supports
the "ref-in-want" feature, a client will send "want-ref" lines for each
reference the client wants to fetch.  This feature allows clients to
tolerate inconsistencies that exist when a remote repository's refs
change during the course of negotiation.

This allows a client to request to request a particular ref without
specifying the OID of the ref.  This means that instead of hitting an
error when a ref no longer points at the OID it did at the beginning of
negotiation, negotiation can continue and the value of that ref will be
sent at the termination of negotiation, just before a packfile is sent.

More information on the ref-in-want feature can be found in
Documentation/technical/protocol-v2.txt.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fetch-pack.c
remote.c
remote.h
t/t5703-upload-pack-ref-in-want.sh