<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/commit-graph.c, branch v2.27.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.27.0</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.27.0'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2020-05-13T19:19:18Z</updated>
<entry>
<title>Merge branch 'tb/shallow-cleanup'</title>
<updated>2020-05-13T19:19:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-13T19:19:18Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=896833b2687ce09a4965e5b4f3992daad096a65b'/>
<id>urn:sha1:896833b2687ce09a4965e5b4f3992daad096a65b</id>
<content type='text'>
Code cleanup.

* tb/shallow-cleanup:
  shallow: use struct 'shallow_lock' for additional safety
  shallow.h: document '{commit,rollback}_shallow_file'
  shallow: extract a header file for shallow-related functions
  commit: make 'commit_graft_pos' non-static
</content>
</entry>
<entry>
<title>Merge branch 'jt/commit-graph-plug-memleak'</title>
<updated>2020-05-08T21:25:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-08T21:25:05Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=95875e0356c1b0e66e4bb7f232bca4db717a44af'/>
<id>urn:sha1:95875e0356c1b0e66e4bb7f232bca4db717a44af</id>
<content type='text'>
Fix a leak noticed by fuzzer.

* jt/commit-graph-plug-memleak:
  commit-graph: avoid memory leaks
</content>
</entry>
<entry>
<title>Merge branch 'tb/commit-graph-perm-bits'</title>
<updated>2020-05-05T21:54:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-05T21:54:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=1d7e9c4c4e60375146ad70ed5c555574a653e92a'/>
<id>urn:sha1:1d7e9c4c4e60375146ad70ed5c555574a653e92a</id>
<content type='text'>
Some of the files commit-graph subsystem keeps on disk did not
correctly honor the core.sharedRepository settings and some were
left read-write.

* tb/commit-graph-perm-bits:
  commit-graph.c: make 'commit-graph-chain's read-only
  commit-graph.c: ensure graph layers respect core.sharedRepository
  commit-graph.c: write non-split graphs as read-only
  lockfile.c: introduce 'hold_lock_file_for_update_mode'
  tempfile.c: introduce 'create_tempfile_mode'
</content>
</entry>
<entry>
<title>commit-graph: avoid memory leaks</title>
<updated>2020-05-04T21:08:38Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2020-05-04T19:13:24Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=fbda77c6c00a7cec65c4f266b09252df73a9deff'/>
<id>urn:sha1:fbda77c6c00a7cec65c4f266b09252df73a9deff</id>
<content type='text'>
A fuzzer running on the entry point provided by fuzz-commit-graph.c
revealed a memory leak when parse_commit_graph() creates a struct
bloom_filter_settings and then returns early due to error. Fix that
error by always freeing that struct first (if it exists) before
returning early due to error.

While making that change, I also noticed another possible memory leak -
when the BLOOMDATA chunk is provided but not BLOOMINDEXES. Also fix that
error.

Signed-off-by: Jonathan Tan &lt;jonathantanmy@google.com&gt;
Reviewed-by: Derrick Stolee &lt;dstolee@microsoft.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ds/blame-on-bloom'</title>
<updated>2020-05-01T20:39:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-01T20:39:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6d56d4c7dcd667d28aec28498591723c6febea1c'/>
<id>urn:sha1:6d56d4c7dcd667d28aec28498591723c6febea1c</id>
<content type='text'>
"git blame" learns to take advantage of the "changed-paths" Bloom
filter stored in the commit-graph file.

* ds/blame-on-bloom:
  test-bloom: check that we have expected arguments
  test-bloom: fix some whitespace issues
  blame: drop unused parameter from maybe_changed_path
  blame: use changed-path Bloom filters
  tests: write commit-graph with Bloom filters
  revision: complicated pathspecs disable filters
</content>
</entry>
<entry>
<title>Merge branch 'gs/commit-graph-path-filter'</title>
<updated>2020-05-01T20:39:53Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-01T20:39:53Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=9b6606f43d55bbf33b9924d16e02e60e1c09660a'/>
<id>urn:sha1:9b6606f43d55bbf33b9924d16e02e60e1c09660a</id>
<content type='text'>
Introduce an extension to the commit-graph to make it efficient to
check for the paths that were modified at each commit using Bloom
filters.

* gs/commit-graph-path-filter:
  bloom: ignore renames when computing changed paths
  commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
  t4216: add end to end tests for git log with Bloom filters
  revision.c: add trace2 stats around Bloom filter usage
  revision.c: use Bloom filters to speed up path based revision walks
  commit-graph: add --changed-paths option to write subcommand
  commit-graph: reuse existing Bloom filters during write
  commit-graph: write Bloom filters to commit graph file
  commit-graph: examine commits by generation number
  commit-graph: examine changed-path objects in pack order
  commit-graph: compute Bloom filters for changed paths
  diff: halt tree-diff early after max_changes
  bloom.c: core Bloom filter implementation for changed paths.
  bloom.c: introduce core Bloom filter constructs
  bloom.c: add the murmur3 hash implementation
  commit-graph: define and use MAX_NUM_CHUNKS
</content>
</entry>
<entry>
<title>Merge branch 'tb/commit-graph-fd-exhaustion-fix'</title>
<updated>2020-05-01T20:39:53Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-01T20:39:53Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=cf054f817a30cf4a6531548f52cd7d5cbed6f4fc'/>
<id>urn:sha1:cf054f817a30cf4a6531548f52cd7d5cbed6f4fc</id>
<content type='text'>
The commit-graph code exhausted file descriptors easily when it
does not have to.

* tb/commit-graph-fd-exhaustion-fix:
  commit-graph: close descriptors after mmap
  commit-graph.c: gracefully handle file descriptor exhaustion
  t/test-lib.sh: make ULIMIT_FILE_DESCRIPTORS available to tests
  commit-graph.c: don't use discarded graph_name in error
</content>
</entry>
<entry>
<title>Merge branch 'tb/commit-graph-split-strategy'</title>
<updated>2020-05-01T20:39:52Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-05-01T20:39:52Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6a1c17d05b0e67fa5f9661f492f407b984496b27'/>
<id>urn:sha1:6a1c17d05b0e67fa5f9661f492f407b984496b27</id>
<content type='text'>
"git commit-graph write" learned different ways to write out split
files.

* tb/commit-graph-split-strategy:
  Revert "commit-graph.c: introduce '--[no-]check-oids'"
  commit-graph.c: introduce '--[no-]check-oids'
  commit-graph.h: replace 'commit_hex' with 'commits'
  oidset: introduce 'oidset_size'
  builtin/commit-graph.c: introduce split strategy 'replace'
  builtin/commit-graph.c: introduce split strategy 'no-merge'
  builtin/commit-graph.c: support for '--split[=&lt;strategy&gt;]'
  t/helper/test-read-graph.c: support commit-graph chains
</content>
</entry>
<entry>
<title>shallow: extract a header file for shallow-related functions</title>
<updated>2020-04-30T21:19:13Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2020-04-30T19:48:50Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=120ad2b0f13b60266fec9760bba3b5abfcd6fb78'/>
<id>urn:sha1:120ad2b0f13b60266fec9760bba3b5abfcd6fb78</id>
<content type='text'>
There are many functions in commit.h that are more related to shallow
repositories than they are to any sort of generic commit machinery.
Likely this began when there were only a few shallow-related functions,
and commit.h seemed a reasonable enough place to put them.

But, now there are a good number of shallow-related functions, and
placing them all in 'commit.h' doesn't make sense.

This patch extracts a 'shallow.h', which takes all of the declarations
from 'commit.h' for functions which already exist in 'shallow.c'. We
will bring the remaining shallow-related functions defined in 'commit.c'
in a subsequent patch.

For now, move only the ones that already are implemented in 'shallow.c',
and update the necessary includes.

Signed-off-by: Taylor Blau &lt;me@ttaylorr.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Revert "commit-graph.c: introduce '--[no-]check-oids'"</title>
<updated>2020-04-29T19:44:40Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-04-29T19:44:40Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=dbd5e0a1861c5bb1446e5518173aa1760c6617b0'/>
<id>urn:sha1:dbd5e0a1861c5bb1446e5518173aa1760c6617b0</id>
<content type='text'>
This reverts commit 7a9ce0269bc0f4ef230f930b3910b70ac3142552,
which has not yet gained consensus.
</content>
</entry>
</feed>
