<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/t/t5318-commit-graph.sh, 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-22T19:20:56Z</updated>
<entry>
<title>commit-graph tests: fix unportable "dd" invocation</title>
<updated>2019-02-22T19:20:56Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2019-02-21T19:28:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b9cc405612f6badded21cb526cdeaa627fecbb37'/>
<id>urn:sha1:b9cc405612f6badded21cb526cdeaa627fecbb37</id>
<content type='text'>
Change an unportable invocation of "dd" with count=0, that wanted to
truncate the commit-graph file.  In POSIX it is unspecified what
happens when count=0 is provided[1]. The NetBSD "dd" behavior
differs from GNU (and seemingly other BSDs), which has left this test
broken since d2b86fbaa1 ("commit-graph: fix buffer read-overflow",
2019-01-15).

Copying from /dev/null would seek/truncate to seek=$zero_pos and
stop immediately after that (without being able to copy anything),
which is the right way to truncate the file.

1. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/dd.html

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Helped-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>t5318: replace use of /dev/zero with generate_zero_bytes</title>
<updated>2019-02-13T17:23:45Z</updated>
<author>
<name>Randall S. Becker</name>
<email>rsbecker@nexbridge.com</email>
</author>
<published>2019-02-09T18:59:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=24b451e77c7d3a62624a309111e8933c7f9f10ba'/>
<id>urn:sha1:24b451e77c7d3a62624a309111e8933c7f9f10ba</id>
<content type='text'>
There are platforms (e.g. NonStop) that lack /dev/zero; use the
generate_zero_bytes helper we just introduced to append stream
of NULs at the end of the file.

The original, even though it uses "dd seek=... count=..." to make it
look like it is overwriting the middle part of an existing file, has
truncated the file before this step with another use of "dd", which
may make it tricky to see why this rewrite is a correct one.

Signed-off-by: Randall S. Becker &lt;rsbecker@nexbridge.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<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>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>commit-graph: fix buffer read-overflow</title>
<updated>2019-01-16T04:32:00Z</updated>
<author>
<name>Josh Steadmon</name>
<email>steadmon@google.com</email>
</author>
<published>2019-01-15T22:25:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d2b86fbaa1f6c0606330caf3cc3fdf8984ddc66a'/>
<id>urn:sha1:d2b86fbaa1f6c0606330caf3cc3fdf8984ddc66a</id>
<content type='text'>
fuzz-commit-graph identified a case where Git will read past the end of
a buffer containing a commit graph if the graph's header has an
incorrect chunk count. A simple bounds check in parse_commit_graph()
prevents this.

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>Merge branch 'md/test-cleanup'</title>
<updated>2018-10-16T07:16:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-10-16T07:16:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f2e2136ad7291524a2b67a179dea493f4a562453'/>
<id>urn:sha1:f2e2136ad7291524a2b67a179dea493f4a562453</id>
<content type='text'>
Various test scripts have been updated for style and also correct
handling of exit status of various commands.

* md/test-cleanup:
  tests: order arguments to git-rev-list properly
  t9109: don't swallow Git errors upstream of pipes
  tests: don't swallow Git errors upstream of pipes
  t/*: fix ordering of expected/observed arguments
  tests: standardize pipe placement
  Documentation: add shell guidelines
  t/README: reformat Do, Don't, Keep in mind lists
</content>
</entry>
<entry>
<title>Merge branch 'ds/commit-graph-with-grafts'</title>
<updated>2018-10-16T07:15:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-10-16T07:15:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6d8f8ebb74d21b51cfbf427a436094134af36ee2'/>
<id>urn:sha1:6d8f8ebb74d21b51cfbf427a436094134af36ee2</id>
<content type='text'>
The recently introduced commit-graph auxiliary data is incompatible
with mechanisms such as replace &amp; grafts that "breaks" immutable
nature of the object reference relationship.  Disable optimizations
based on its use (and updating existing commit-graph) when these
incompatible features are in use in the repository.

* ds/commit-graph-with-grafts:
  commit-graph: close_commit_graph before shallow walk
  commit-graph: not compatible with uninitialized repo
  commit-graph: not compatible with grafts
  commit-graph: not compatible with replace objects
  test-repository: properly init repo
  commit-graph: update design document
  refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
  refs.c: migrate internal ref iteration to pass thru repository argument
</content>
</entry>
<entry>
<title>t/*: fix ordering of expected/observed arguments</title>
<updated>2018-10-06T23:51:18Z</updated>
<author>
<name>Matthew DeVore</name>
<email>matvore@google.com</email>
</author>
<published>2018-10-05T21:54:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dcbaa0b361f5bebcbe6eca446819fadd02083461'/>
<id>urn:sha1:dcbaa0b361f5bebcbe6eca446819fadd02083461</id>
<content type='text'>
Fix various places where the ordering was obviously wrong, meaning it
was easy to find with grep.

Signed-off-by: Matthew DeVore &lt;matvore@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>t5318: use test_oid for HASH_LEN</title>
<updated>2018-09-17T15:10:32Z</updated>
<author>
<name>Derrick Stolee</name>
<email>stolee@gmail.com</email>
</author>
<published>2018-09-13T05:17:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ae0c89d41bbdbcdd53296a8260907105de38e112'/>
<id>urn:sha1:ae0c89d41bbdbcdd53296a8260907105de38e112</id>
<content type='text'>
Signed-off-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
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>tests: fix and add lint for non-portable grep --file</title>
<updated>2018-08-27T21:07:32Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2018-08-24T15:20:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4a3ed638027343cbfc47821973c2c3784a5c53ed'/>
<id>urn:sha1:4a3ed638027343cbfc47821973c2c3784a5c53ed</id>
<content type='text'>
The --file option to grep isn't in POSIX[1], but -f is[1]. Let's check
for that in the future, and fix the portability regression in
f237c8b6fe ("commit-graph: implement git-commit-graph write",
2018-04-02) that broke e.g. AIX.

1. http://pubs.opengroup.org/onlinepubs/009695399/utilities/grep.html

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
