<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/technical, branch v2.21.4</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.21.4</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.21.4'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-02-05T22:26:14Z</updated>
<entry>
<title>Merge branch 'ab/commit-graph-write-progress'</title>
<updated>2019-02-05T22:26:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-05T22:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e5eac5735609722a07401a279a1508ace22fc9bc'/>
<id>urn:sha1:e5eac5735609722a07401a279a1508ace22fc9bc</id>
<content type='text'>
The codepath to show progress meter while writing out commit-graph
file has been improved.

* ab/commit-graph-write-progress:
  commit-graph write: emit a percentage for all progress
  commit-graph write: add itermediate progress
  commit-graph write: remove empty line for readability
  commit-graph write: add more descriptive progress output
  commit-graph write: show progress for object search
  commit-graph write: more descriptive "writing out" output
  commit-graph write: add "Writing out" progress output
  commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
  commit-graph: rename "large edges" to "extra edges"
</content>
</entry>
<entry>
<title>Merge branch 'jt/fetch-v2-sideband'</title>
<updated>2019-02-05T22:26:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-05T22:26:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5f8b86db94e789bc07258f98cc5ba25d18273d83'/>
<id>urn:sha1:5f8b86db94e789bc07258f98cc5ba25d18273d83</id>
<content type='text'>
"git fetch" and "git upload-pack" learned to send all exchange over
the sideband channel while talking the v2 protocol.

* jt/fetch-v2-sideband:
  tests: define GIT_TEST_SIDEBAND_ALL
  {fetch,upload}-pack: sideband v2 fetch response
  sideband: reverse its dependency on pkt-line
  pkt-line: introduce struct packet_writer
  pack-protocol.txt: accept error packets in any context
  Use packet_reader instead of packet_read_line
</content>
</entry>
<entry>
<title>Merge branch 'js/filter-options-should-use-plain-int'</title>
<updated>2019-02-05T22:26:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-02-05T22:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=073312b4c7a15d484d2ffdc2eb4a406df9cf9c55'/>
<id>urn:sha1:073312b4c7a15d484d2ffdc2eb4a406df9cf9c55</id>
<content type='text'>
Update the protocol message specification to allow only the limited
use of scaled quantities.  This is ensure potential compatibility
issues will not go out of hand.

* js/filter-options-should-use-plain-int:
  filter-options: expand scaled numbers
  tree:&lt;depth&gt;: skip some trees even when collecting omits
  list-objects-filter: teach tree:# how to handle &gt;0
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-recursive-fetch-gets-the-tip'</title>
<updated>2019-01-29T20:47:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-01-29T20:47:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d3635db19c6dff4fb063fabfa4161fd3b8285f0'/>
<id>urn:sha1:5d3635db19c6dff4fb063fabfa4161fd3b8285f0</id>
<content type='text'>
"git fetch --recurse-submodules" may not fetch the necessary commit
that is bound to the superproject, which is getting corrected.

* sb/submodule-recursive-fetch-gets-the-tip:
  fetch: ensure submodule objects fetched
  submodule.c: fetch in submodules git directory instead of in worktree
  submodule: migrate get_next_submodule to use repository structs
  repository: repo_submodule_init to take a submodule struct
  submodule: store OIDs in changed_submodule_names
  submodule.c: tighten scope of changed_submodule_names struct
  submodule.c: sort changed_submodule_names before searching it
  submodule.c: fix indentation
  sha1-array: provide oid_array_filter
</content>
</entry>
<entry>
<title>Merge branch 'cc/partial-clone-doc-typofix'</title>
<updated>2019-01-29T20:47:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-01-29T20:47:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e6dc1ea0591e013aeb5d1e1d5d59aca693ab1e06'/>
<id>urn:sha1:e6dc1ea0591e013aeb5d1e1d5d59aca693ab1e06</id>
<content type='text'>
Doc fix.

* cc/partial-clone-doc-typofix:
  partial-clone: add missing 'is' in doc
</content>
</entry>
<entry>
<title>commit-graph: rename "large edges" to "extra edges"</title>
<updated>2019-01-22T19:33:46Z</updated>
<author>
<name>SZEDER Gábor</name>
<email>szeder.dev@gmail.com</email>
</author>
<published>2019-01-19T20:21:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5af7417bd869d935715a56b2ccdee04d3a79a328'/>
<id>urn:sha1:5af7417bd869d935715a56b2ccdee04d3a79a328</id>
<content type='text'>
The optional 'Large Edge List' chunk of the commit graph file stores
parent information for commits with more than two parents, and the
names of most of the macros, variables, struct fields, and functions
related to this chunk contain the term "large edges", e.g.
write_graph_chunk_large_edges().  However, it's not a really great
term, as the edges to the second and subsequent parents stored in this
chunk are not any larger than the edges to the first and second
parents stored in the "main" 'Commit Data' chunk.  It's the number of
edges, IOW number of parents, that is larger compared to non-merge and
"regular" two-parent merge commits.  And indeed, two functions in
'commit-graph.c' have a local variable called 'num_extra_edges' that
refer to the same thing, and this "extra edges" term is much better at
describing these edges.

So let's rename all these references to "large edges" in macro,
variable, function, etc. names to "extra edges".  There is a
GRAPH_OCTOPUS_EDGES_NEEDED macro as well; for the sake of consistency
rename it to GRAPH_EXTRA_EDGES_NEEDED.

We can do so safely without causing any incompatibility issues,
because the term "large edges" doesn't come up in the file format
itself in any form (the chunk's magic is {'E', 'D', 'G', 'E'}, there
is no 'L' in there), but only in the specification text.  The string
"large edges", however, does come up in the output of 'git
commit-graph read' and in tests looking at its input, but that command
is explicitly documented as debugging aid, so we can change its output
and the affected tests safely.

Signed-off-by: SZEDER Gábor &lt;szeder.dev@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>{fetch,upload}-pack: sideband v2 fetch response</title>
<updated>2019-01-17T19:25:07Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2019-01-16T19:28:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0bbc0bc5745ab8b294a5faf8c3b1d939ae8b6d10'/>
<id>urn:sha1:0bbc0bc5745ab8b294a5faf8c3b1d939ae8b6d10</id>
<content type='text'>
Currently, a response to a fetch request has sideband support only while
the packfile is being sent, meaning that the server cannot send notices
until the start of the packfile.

Extend sideband support in protocol v2 fetch responses to the whole
response. upload-pack will advertise it if the
uploadpack.allowsidebandall configuration variable is set, and
fetch-pack will automatically request it if advertised.

If the sideband is to be used throughout the whole response, upload-pack
will use it to send errors instead of prefixing a PKT-LINE payload with
"ERR ".

This will be tested in a subsequent patch.

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>filter-options: expand scaled numbers</title>
<updated>2019-01-15T23:42:31Z</updated>
<author>
<name>Josh Steadmon</name>
<email>steadmon@google.com</email>
</author>
<published>2019-01-08T00:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=87c2d9d3102e6c388f2d29f1bdb0b3a222d9a707'/>
<id>urn:sha1:87c2d9d3102e6c388f2d29f1bdb0b3a222d9a707</id>
<content type='text'>
When communicating with a remote server or a subprocess, use
expanded numbers rather than numbers with scaling suffix in the
object filter spec (e.g.  "limit:blob=1k" becomes
"limit:blob=1024").

Update the protocol docs to note that clients should always perform this
expansion, to allow for more compatibility between server
implementations.

Signed-off-by: Josh Steadmon &lt;steadmon@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>partial-clone: add missing 'is' in doc</title>
<updated>2019-01-14T19:06:47Z</updated>
<author>
<name>Christian Couder</name>
<email>christian.couder@gmail.com</email>
</author>
<published>2019-01-14T06:10:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1747125e2ccd40cfc5eaa35aa9adfffa2fa10240'/>
<id>urn:sha1:1747125e2ccd40cfc5eaa35aa9adfffa2fa10240</id>
<content type='text'>
Signed-off-by: Christian Couder &lt;chriscool@tuxfamily.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>
</feed>
