<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/technical/pack-protocol.txt, branch v2.33.6</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.33.6</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.33.6'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2020-09-25T22:25:39Z</updated>
<entry>
<title>Merge branch 'jx/proc-receive-hook'</title>
<updated>2020-09-25T22:25:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-09-25T22:25:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6c430a647cb990fc856d328733fa59e1fafadb97'/>
<id>urn:sha1:6c430a647cb990fc856d328733fa59e1fafadb97</id>
<content type='text'>
"git receive-pack" that accepts requests by "git push" learned to
outsource most of the ref updates to the new "proc-receive" hook.

* jx/proc-receive-hook:
  doc: add documentation for the proc-receive hook
  transport: parse report options for tracking refs
  t5411: test updates of remote-tracking branches
  receive-pack: new config receive.procReceiveRefs
  doc: add document for capability report-status-v2
  New capability "report-status-v2" for git-push
  receive-pack: feed report options to post-receive
  receive-pack: add new proc-receive hook
  t5411: add basic test cases for proc-receive hook
  transport: not report a non-head push as a branch
</content>
</entry>
<entry>
<title>doc: add document for capability report-status-v2</title>
<updated>2020-08-27T19:47:47Z</updated>
<author>
<name>Jiang Xin</name>
<email>zhiyou.jx@alibaba-inc.com</email>
</author>
<published>2020-08-27T15:45:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b913075cb8bd55a6c2ecac4aa7af0de6fb98d5b6'/>
<id>urn:sha1:b913075cb8bd55a6c2ecac4aa7af0de6fb98d5b6</id>
<content type='text'>
Add ABNF notation for capability 'report-status-v2' which extends
capability 'report-status' by adding additional option lines.

Signed-off-by: Jiang Xin &lt;zhiyou.jx@alibaba-inc.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>doc: fix wrong 4-byte length of pkt-line message</title>
<updated>2020-05-21T17:52:01Z</updated>
<author>
<name>Jiuyang Xie</name>
<email>jiuyangxie@gmail.com</email>
</author>
<published>2020-05-21T11:32:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2c31a7aa4459f0036aad76e4a0f2c0ddaebb4fc3'/>
<id>urn:sha1:2c31a7aa4459f0036aad76e4a0f2c0ddaebb4fc3</id>
<content type='text'>
The first four bytes of the line, the pkt-len, indicates the total
length of the pkt-line in hexadecimal. Fix wrong pkt-len headers of
some pkt-line messages in `http-protocol.txt` and `pack-protocol.txt`.

Reviewed-by: Denton Liu &lt;liu.denton@gmail.com&gt;
Signed-off-by: Jiuyang Xie &lt;jiuyang.xjy@alibaba-inc.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Documentation: fix a bunch of typos, both old and new</title>
<updated>2019-11-07T04:42:00Z</updated>
<author>
<name>Elijah Newren</name>
<email>newren@gmail.com</email>
</author>
<published>2019-11-05T17:07:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=031fd4b93b8182761948aa348565118955f48307'/>
<id>urn:sha1:031fd4b93b8182761948aa348565118955f48307</id>
<content type='text'>
Reported-by: Jens Schleusener &lt;Jens.Schleusener@fossies.org&gt;
Signed-off-by: Elijah Newren &lt;newren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fix pack protocol example client/server communication</title>
<updated>2019-03-18T05:37:54Z</updated>
<author>
<name>Mike Hommey</name>
<email>mh@glandium.org</email>
</author>
<published>2019-03-16T08:57:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=74cc547b0f5a2b51794d354fee777e07856391ee'/>
<id>urn:sha1:74cc547b0f5a2b51794d354fee777e07856391ee</id>
<content type='text'>
The pkt-line formatted lines contained the wrong pkt-len.

Signed-off-by: Mike Hommey &lt;mh@glandium.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pack-protocol.txt: accept error packets in any context</title>
<updated>2019-01-02T21:05:30Z</updated>
<author>
<name>Masaya Suzuki</name>
<email>masayasuzuki@google.com</email>
</author>
<published>2018-12-29T21:19:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2d103c31c2cfcf03ff1408d639043469b0c93f70'/>
<id>urn:sha1:2d103c31c2cfcf03ff1408d639043469b0c93f70</id>
<content type='text'>
In the Git pack protocol definition, an error packet may appear only in
a certain context. However, servers can face a runtime error (e.g. I/O
error) at an arbitrary timing. This patch changes the protocol to allow
an error packet to be sent instead of any packet.

Without this protocol spec change, when a server cannot process a
request, there's no way to tell that to a client. Since the server
cannot produce a valid response, it would be forced to cut a connection
without telling why. With this protocol spec change, the server can be
more gentle in this situation. An old client may see these error packets
as an unexpected packet, but this is not worse than having an unexpected
EOF.

Following this protocol spec change, the error packet handling code is
moved to pkt-line.c. Implementation wise, this implementation uses
pkt-line to communicate with a subprocess. Since this is not a part of
Git protocol, it's possible that a packet that is not supposed to be an
error packet is mistakenly parsed as an error packet. This error packet
handling is enabled only for the Git pack protocol parsing code
considering this.

Signed-off-by: Masaya Suzuki &lt;masayasuzuki@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'bw/protocol-v2'</title>
<updated>2018-08-15T22:08:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-08-15T22:08:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1ba2fc603f4aa564e029843589ca0b36a8aed4fc'/>
<id>urn:sha1:1ba2fc603f4aa564e029843589ca0b36a8aed4fc</id>
<content type='text'>
Doc update.

* bw/protocol-v2:
  pack-protocol: mention and point to docs for protocol v2
</content>
</entry>
<entry>
<title>pack-protocol: mention and point to docs for protocol v2</title>
<updated>2018-07-24T19:59:51Z</updated>
<author>
<name>Brandon Williams</name>
<email>bmwill@google.com</email>
</author>
<published>2018-07-23T17:48:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f351b0aba4335ad71f8608b268f2a1d97e1ec008'/>
<id>urn:sha1:f351b0aba4335ad71f8608b268f2a1d97e1ec008</id>
<content type='text'>
Signed-off-by: Brandon Williams &lt;bmwill@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>upload-pack: send refs' objects despite "filter"</title>
<updated>2018-07-09T19:37:38Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2018-07-06T19:34:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a0c9016abd566e9a8f988dcd387663cd0b2be078'/>
<id>urn:sha1:a0c9016abd566e9a8f988dcd387663cd0b2be078</id>
<content type='text'>
A filter line in a request to upload-pack filters out objects regardless
of whether they are directly referenced by a "want" line or not. This
means that cloning with "--filter=blob:none" (or another filter that
excludes blobs) from a repository with at least one ref pointing to a
blob (for example, the Git repository itself) results in output like the
following:

    error: missing object referenced by 'refs/tags/junio-gpg-pub'

and if that particular blob is not referenced by a fetched tree, the
resulting clone fails fsck because there is no object from the remote to
vouch that the missing object is a promisor object.

Update both the protocol and the upload-pack implementation to include
all explicitly specified "want" objects in the packfile regardless of
the filter specification.

Signed-off-by: Jonathan Tan &lt;jonathantanmy@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jh/partial-clone'</title>
<updated>2018-02-13T21:39:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-02-13T21:39:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6bed209a20a06f2d6b7142216dabff456de798e1'/>
<id>urn:sha1:6bed209a20a06f2d6b7142216dabff456de798e1</id>
<content type='text'>
The machinery to clone &amp; fetch, which in turn involves packing and
unpacking objects, have been told how to omit certain objects using
the filtering mechanism introduced by the jh/object-filtering
topic, and also mark the resulting pack as a promisor pack to
tolerate missing objects, taking advantage of the mechanism
introduced by the jh/fsck-promisors topic.

* jh/partial-clone:
  t5616: test bulk prefetch after partial fetch
  fetch: inherit filter-spec from partial clone
  t5616: end-to-end tests for partial clone
  fetch-pack: restore save_commit_buffer after use
  unpack-trees: batch fetching of missing blobs
  clone: partial clone
  partial-clone: define partial clone settings in config
  fetch: support filters
  fetch: refactor calculation of remote list
  fetch-pack: test support excluding large blobs
  fetch-pack: add --no-filter
  fetch-pack, index-pack, transport: partial clone
  upload-pack: add object filtering for partial clone
</content>
</entry>
</feed>
