<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/fetch-pack.c, branch v2.18.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.18.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.18.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2018-05-30T05:04:10Z</updated>
<entry>
<title>Merge branch 'jt/partial-clone-proto-v2'</title>
<updated>2018-05-30T05:04:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-30T05:04:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=54db5c0e1edf0d92bd474f515fab349b98c18a24'/>
<id>urn:sha1:54db5c0e1edf0d92bd474f515fab349b98c18a24</id>
<content type='text'>
Transfer protocol v2 learned to support the partial clone.

* jt/partial-clone-proto-v2:
  {fetch,upload}-pack: support filter in protocol v2
  upload-pack: read config when serving protocol v2
  upload-pack: fix error message typo
</content>
</entry>
<entry>
<title>Merge branch 'bw/server-options'</title>
<updated>2018-05-23T05:38:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-23T05:38:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=41267e96972d5a158298f777caecd7433a1b1a94'/>
<id>urn:sha1:41267e96972d5a158298f777caecd7433a1b1a94</id>
<content type='text'>
The transport protocol v2 is getting updated further.

* bw/server-options:
  fetch: send server options when using protocol v2
  ls-remote: send server options when using protocol v2
  serve: introduce the server-option capability
</content>
</entry>
<entry>
<title>Merge branch 'bw/protocol-v2'</title>
<updated>2018-05-08T06:59:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-08T06:59:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9bfa0f9be3e718f701200a242ea04259a4dc4dfc'/>
<id>urn:sha1:9bfa0f9be3e718f701200a242ea04259a4dc4dfc</id>
<content type='text'>
The beginning of the next-gen transfer protocol.

* bw/protocol-v2: (35 commits)
  remote-curl: don't request v2 when pushing
  remote-curl: implement stateless-connect command
  http: eliminate "# service" line when using protocol v2
  http: don't always add Git-Protocol header
  http: allow providing extra headers for http requests
  remote-curl: store the protocol version the server responded with
  remote-curl: create copy of the service name
  pkt-line: add packet_buf_write_len function
  transport-helper: introduce stateless-connect
  transport-helper: refactor process_connect_service
  transport-helper: remove name parameter
  connect: don't request v2 when pushing
  connect: refactor git_connect to only get the protocol version once
  fetch-pack: support shallow requests
  fetch-pack: perform a fetch using v2
  upload-pack: introduce fetch server command
  push: pass ref prefixes when pushing
  fetch: pass ref prefixes when fetching
  ls-remote: pass ref prefixes when requesting a remote's refs
  transport: convert transport_get_remote_refs to take a list of ref prefixes
  ...
</content>
</entry>
<entry>
<title>{fetch,upload}-pack: support filter in protocol v2</title>
<updated>2018-05-06T04:17:19Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2018-05-03T23:46:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ba95710a3bdcb2a80495b1d93a0e482dd69905e1'/>
<id>urn:sha1:ba95710a3bdcb2a80495b1d93a0e482dd69905e1</id>
<content type='text'>
The fetch-pack/upload-pack protocol v2 was developed independently of
the filter parameter (used in partial fetches), thus it did not include
support for it. Add support for the filter parameter.

Like in the legacy protocol, the server advertises and supports "filter"
only if uploadpack.allowfilter is configured.

Like in the legacy protocol, the client continues with a warning if
"--filter" is specified, but the server does not advertise it.

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 'bw/protocol-v2' into jt/partial-clone-proto-v2</title>
<updated>2018-05-02T09:54:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-02T09:54:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ea44c0a5940c183023797eb54cd7912709f421b0'/>
<id>urn:sha1:ea44c0a5940c183023797eb54cd7912709f421b0</id>
<content type='text'>
The beginning of the next-gen transfer protocol.

* bw/protocol-v2: (35 commits)
  remote-curl: don't request v2 when pushing
  remote-curl: implement stateless-connect command
  http: eliminate "# service" line when using protocol v2
  http: don't always add Git-Protocol header
  http: allow providing extra headers for http requests
  remote-curl: store the protocol version the server responded with
  remote-curl: create copy of the service name
  pkt-line: add packet_buf_write_len function
  transport-helper: introduce stateless-connect
  transport-helper: refactor process_connect_service
  transport-helper: remove name parameter
  connect: don't request v2 when pushing
  connect: refactor git_connect to only get the protocol version once
  fetch-pack: support shallow requests
  fetch-pack: perform a fetch using v2
  upload-pack: introduce fetch server command
  push: pass ref prefixes when pushing
  fetch: pass ref prefixes when fetching
  ls-remote: pass ref prefixes when requesting a remote's refs
  transport: convert transport_get_remote_refs to take a list of ref prefixes
  ...
</content>
</entry>
<entry>
<title>fetch: send server options when using protocol v2</title>
<updated>2018-04-24T02:24:40Z</updated>
<author>
<name>Brandon Williams</name>
<email>bmwill@google.com</email>
</author>
<published>2018-04-23T22:46:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5e3548ef161d4d284e35cf5f5d6a181ba4fe707b'/>
<id>urn:sha1:5e3548ef161d4d284e35cf5f5d6a181ba4fe707b</id>
<content type='text'>
Teach fetch to optionally accept server options by specifying them on
the cmdline via '-o' or '--server-option'.  These server options are
sent to the remote end when performing a fetch communicating using
protocol version 2.

If communicating using a protocol other than v2 the provided options are
ignored and not sent to the remote end.

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>Merge branch 'bw/protocol-v2' into HEAD</title>
<updated>2018-04-24T02:24:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-04-24T02:24:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bbc39d4020372a0bf8aa399c7550ba58312adfa1'/>
<id>urn:sha1:bbc39d4020372a0bf8aa399c7550ba58312adfa1</id>
<content type='text'>
* bw/protocol-v2: (35 commits)
  remote-curl: don't request v2 when pushing
  remote-curl: implement stateless-connect command
  http: eliminate "# service" line when using protocol v2
  http: don't always add Git-Protocol header
  http: allow providing extra headers for http requests
  remote-curl: store the protocol version the server responded with
  remote-curl: create copy of the service name
  pkt-line: add packet_buf_write_len function
  transport-helper: introduce stateless-connect
  transport-helper: refactor process_connect_service
  transport-helper: remove name parameter
  connect: don't request v2 when pushing
  connect: refactor git_connect to only get the protocol version once
  fetch-pack: support shallow requests
  fetch-pack: perform a fetch using v2
  upload-pack: introduce fetch server command
  push: pass ref prefixes when pushing
  fetch: pass ref prefixes when fetching
  ls-remote: pass ref prefixes when requesting a remote's refs
  transport: convert transport_get_remote_refs to take a list of ref prefixes
  ...
</content>
</entry>
<entry>
<title>exec_cmd: rename to use dash in file name</title>
<updated>2018-04-11T09:11:00Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2018-04-10T21:26:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d807c4a01db2b06db047fc6d5d18ac25c8f05bd7'/>
<id>urn:sha1:d807c4a01db2b06db047fc6d5d18ac25c8f05bd7</id>
<content type='text'>
This is more consistent with the project style. The majority of Git's
source files use dashes in preference to underscores in their file names.

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sb/packfiles-in-repository'</title>
<updated>2018-04-11T04:09:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-04-11T04:09:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3a1ec60c43b1cad73fed8040aed7117900e9fd9d'/>
<id>urn:sha1:3a1ec60c43b1cad73fed8040aed7117900e9fd9d</id>
<content type='text'>
Refactoring of the internal global data structure continues.

* sb/packfiles-in-repository:
  packfile: keep prepare_packed_git() private
  packfile: allow find_pack_entry to handle arbitrary repositories
  packfile: add repository argument to find_pack_entry
  packfile: allow reprepare_packed_git to handle arbitrary repositories
  packfile: allow prepare_packed_git to handle arbitrary repositories
  packfile: allow prepare_packed_git_one to handle arbitrary repositories
  packfile: add repository argument to reprepare_packed_git
  packfile: add repository argument to prepare_packed_git
  packfile: add repository argument to prepare_packed_git_one
  packfile: allow install_packed_git to handle arbitrary repositories
  packfile: allow rearrange_packed_git to handle arbitrary repositories
  packfile: allow prepare_packed_git_mru to handle arbitrary repositories
</content>
</entry>
<entry>
<title>Merge branch 'ti/fetch-everything-local-optim'</title>
<updated>2018-04-09T23:25:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-04-09T23:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d806b74d5223d0c19afd023fea3b321cc5bc717'/>
<id>urn:sha1:5d806b74d5223d0c19afd023fea3b321cc5bc717</id>
<content type='text'>
A "git fetch" from a repository with insane number of refs into a
repository that is already up-to-date still wasted too many cycles
making many lstat(2) calls to see if these objects at the tips
exist as loose objects locally.  These lstat(2) calls are optimized
away by enumerating all loose objects beforehand.

It is unknown if the new strategy negatively affects existing use
cases, fetching into a repository with many loose objects from a
repository with small number of refs.

* ti/fetch-everything-local-optim:
  fetch-pack.c: use oidset to check existence of loose object
</content>
</entry>
</feed>
