<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/fetch-pack.h, 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-04-24T02:24:40Z</updated>
<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>fetch-pack: perform a fetch using v2</title>
<updated>2018-03-15T19:01:08Z</updated>
<author>
<name>Brandon Williams</name>
<email>bmwill@google.com</email>
</author>
<published>2018-03-15T17:31:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=685fbd32916f3e94bc89aa14e8fdce835b06f801'/>
<id>urn:sha1:685fbd32916f3e94bc89aa14e8fdce835b06f801</id>
<content type='text'>
When communicating with a v2 server, perform a fetch by requesting the
'fetch' command.

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>fetch-pack, index-pack, transport: partial clone</title>
<updated>2017-12-08T17:58:51Z</updated>
<author>
<name>Jeff Hostetler</name>
<email>jeffhost@microsoft.com</email>
</author>
<published>2017-12-08T15:58:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=640d8b72feaae0b96d5faa663ad624963e416d54'/>
<id>urn:sha1:640d8b72feaae0b96d5faa663ad624963e416d54</id>
<content type='text'>
Signed-off-by: Jeff Hostetler &lt;jeffhost@microsoft.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>introduce fetch-object: fetch one promisor object</title>
<updated>2017-12-05T17:46:05Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2017-12-05T16:58:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=88e2f9ed8efaf069bea65ab6920bcdcd7c8a4da1'/>
<id>urn:sha1:88e2f9ed8efaf069bea65ab6920bcdcd7c8a4da1</id>
<content type='text'>
Introduce fetch-object, providing the ability to fetch one object from a
promisor remote.

This uses fetch-pack. To do this, the transport mechanism has been
updated with 2 flags, "from-promisor" to indicate that the resulting
pack comes from a promisor remote (and thus should be annotated as such
by index-pack), and "no-dependents" to indicate that only the objects
themselves need to be fetched (but fetching additional objects is
nevertheless safe).

Whenever "no-dependents" is used, fetch-pack will refrain from using any
object flags, because it is most likely invoked as part of a dynamic
object fetch by another Git command (which may itself use object flags).
An alternative to this is to leave fetch-pack alone, and instead update
the allocation of flags so that fetch-pack's flags never overlap with
any others, but this will end up shrinking the number of flags available
to nearly every other Git command (that is, every Git command that
accesses objects), so the approach in this commit was used instead.

This will be tested in a subsequent commit.

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>Rename sha1_array to oid_array</title>
<updated>2017-03-31T15:33:56Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2017-03-31T01:40:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=910650d2f8755359ab7b1f0e2a2d576c06a68091'/>
<id>urn:sha1:910650d2f8755359ab7b1f0e2a2d576c06a68091</id>
<content type='text'>
Since this structure handles an array of object IDs, rename it to struct
oid_array.  Also rename the accessor functions and the initialization
constant.

This commit was produced mechanically by providing non-Documentation
files to the following Perl one-liners:

    perl -pi -E 's/struct sha1_array/struct oid_array/g'
    perl -pi -E 's/\bsha1_array_/oid_array_/g'
    perl -pi -E 's/SHA1_ARRAY_INIT/OID_ARRAY_INIT/g'

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fetch-pack: move code to report unmatched refs to a function</title>
<updated>2017-03-02T19:12:53Z</updated>
<author>
<name>Matt McCutchen</name>
<email>matt@mattmccutchen.net</email>
</author>
<published>2017-02-22T16:01:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e860d96bf89fca63f664eb2d507f2f14537a9008'/>
<id>urn:sha1:e860d96bf89fca63f664eb2d507f2f14537a9008</id>
<content type='text'>
Prepare to reuse this code in transport.c for "git fetch".

While we're here, internationalize the existing error message.

Signed-off-by: Matt McCutchen &lt;matt@mattmccutchen.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fetch, upload-pack: --deepen=N extends shallow boundary by N commits</title>
<updated>2016-06-13T21:38:16Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-06-12T10:54:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cccf74e2da85808478c784e403a69bbfe2b9f518'/>
<id>urn:sha1:cccf74e2da85808478c784e403a69bbfe2b9f518</id>
<content type='text'>
In git-fetch, --depth argument is always relative with the latest
remote refs. This makes it a bit difficult to cover this use case,
where the user wants to make the shallow history, say 3 levels
deeper. It would work if remote refs have not moved yet, but nobody
can guarantee that, especially when that use case is performed a
couple months after the last clone or "git fetch --depth". Also,
modifying shallow boundary using --depth does not work well with
clones created by --since or --not.

This patch fixes that. A new argument --deepen=&lt;N&gt; will add &lt;N&gt; more (*)
parent commits to the current history regardless of where remote refs
are.

Have/Want negotiation is still respected. So if remote refs move, the
server will send two chunks: one between "have" and "want" and another
to extend shallow history. In theory, the client could send no "want"s
in order to get the second chunk only. But the protocol does not allow
that. Either you send no want lines, which means ls-remote; or you
have to send at least one want line that carries deep-relative to the
server..

The main work was done by Dongcan Jiang. I fixed it up here and there.
And of course all the bugs belong to me.

(*) We could even support --deepen=&lt;N&gt; where &lt;N&gt; is negative. In that
case we can cut some history from the shallow clone. This operation
(and --depth=&lt;shorter depth&gt;) does not require interaction with remote
side (and more complicated to implement as a result).

Helped-by: Duy Nguyen &lt;pclouds@gmail.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Dongcan Jiang &lt;dongcan.jiang@gmail.com&gt;
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fetch: define shallow boundary with --shallow-exclude</title>
<updated>2016-06-13T21:38:16Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-06-12T10:54:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a45a260086b395729e3c26c9680602e1352184b5'/>
<id>urn:sha1:a45a260086b395729e3c26c9680602e1352184b5</id>
<content type='text'>
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>fetch: define shallow boundary with --shallow-since</title>
<updated>2016-06-13T21:38:16Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2016-06-12T10:53:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=508ea88226bbdd25ac0aac4f9c8a65a2c3b5be5c'/>
<id>urn:sha1:508ea88226bbdd25ac0aac4f9c8a65a2c3b5be5c</id>
<content type='text'>
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
