<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/packfile.c, branch v2.34.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.34.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.34.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-10-04T04:49:20Z</updated>
<entry>
<title>Merge branch 'rs/close-pack-leakfix'</title>
<updated>2021-10-04T04:49:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-10-04T04:49:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=068966d2e8eab8b9c25a991bcd8e20d6323daff8'/>
<id>urn:sha1:068966d2e8eab8b9c25a991bcd8e20d6323daff8</id>
<content type='text'>
Leakfix.

* rs/close-pack-leakfix:
  packfile: release bad_objects in close_pack()
</content>
</entry>
<entry>
<title>packfile: release bad_objects in close_pack()</title>
<updated>2021-09-24T16:22:46Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-09-24T06:10:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8c6b4332b47792947f29d3abd729b8290add96fd'/>
<id>urn:sha1:8c6b4332b47792947f29d3abd729b8290add96fd</id>
<content type='text'>
Unusable entries of a damaged pack file are recorded in the oidset
bad_objects.  Release it when we're done with the pack.

This doesn't affect intact packs because an empty oidset requires
no allocation.

Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/packfile-bad-object-list-in-oidset'</title>
<updated>2021-09-23T20:44:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-09-23T20:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=28caad63d0f58611a22bf5b11e4914496ecb25b1'/>
<id>urn:sha1:28caad63d0f58611a22bf5b11e4914496ecb25b1</id>
<content type='text'>
Replace a handcrafted data structure used to keep track of bad
objects in the packfile API by an oidset.

* rs/packfile-bad-object-list-in-oidset:
  packfile: use oidset for bad objects
  packfile: convert has_packed_and_bad() to object_id
  packfile: convert mark_bad_packed_object() to object_id
  midx: inline nth_midxed_pack_entry()
  oidset: make oidset_size() an inline function
</content>
</entry>
<entry>
<title>Merge branch 'tb/multi-pack-bitmaps'</title>
<updated>2021-09-20T22:20:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-09-20T22:20:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0649303820cf88fb5a6ab440af15c8d6b8799d3f'/>
<id>urn:sha1:0649303820cf88fb5a6ab440af15c8d6b8799d3f</id>
<content type='text'>
The reachability bitmap file used to be generated only for a single
pack, but now we've learned to generate bitmaps for history that
span across multiple packfiles.

* tb/multi-pack-bitmaps: (29 commits)
  pack-bitmap: drop bitmap_index argument from try_partial_reuse()
  pack-bitmap: drop repository argument from prepare_midx_bitmap_git()
  p5326: perf tests for MIDX bitmaps
  p5310: extract full and partial bitmap tests
  midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
  t7700: update to work with MIDX bitmap test knob
  t5319: don't write MIDX bitmaps in t5319
  t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
  t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
  t5326: test multi-pack bitmap behavior
  t/helper/test-read-midx.c: add --checksum mode
  t5310: move some tests to lib-bitmap.sh
  pack-bitmap: write multi-pack bitmaps
  pack-bitmap: read multi-pack bitmaps
  pack-bitmap.c: avoid redundant calls to try_partial_reuse
  pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
  pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
  pack-bitmap.c: introduce 'bitmap_num_objects()'
  midx: avoid opening multiple MIDXs when writing
  midx: close linked MIDXs, avoid leaking memory
  ...
</content>
</entry>
<entry>
<title>packfile: use oidset for bad objects</title>
<updated>2021-09-12T23:14:32Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-09-11T20:43:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=09ef66179b943d03cbe0bea0603e5f40574695a1'/>
<id>urn:sha1:09ef66179b943d03cbe0bea0603e5f40574695a1</id>
<content type='text'>
Store the object ID of broken pack entries in an oidset instead of
keeping only their hashes in an unsorted array.  The resulting code is
shorter and easier to read.  It also handles the (hopefully) very rare
case of having a high number of bad objects better.

Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>packfile: convert has_packed_and_bad() to object_id</title>
<updated>2021-09-12T23:14:32Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-09-11T20:42:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7407d733a4a99cf946cab0c82e03c41dbd305b7c'/>
<id>urn:sha1:7407d733a4a99cf946cab0c82e03c41dbd305b7c</id>
<content type='text'>
The single caller has a full object ID, so pass it on instead of just
its hash member.

Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>packfile: convert mark_bad_packed_object() to object_id</title>
<updated>2021-09-12T23:14:32Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2021-09-11T20:40:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=751530de5db77196a08897e3c47526c0f0147ef1'/>
<id>urn:sha1:751530de5db77196a08897e3c47526c0f0147ef1</id>
<content type='text'>
All callers have full object IDs, so pass them on instead of just their
hash member.

Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pack-bitmap: read multi-pack bitmaps</title>
<updated>2021-09-01T20:56:43Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2021-08-31T20:52:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0f533c728418fd3ef6ebcae5240e8df566cdaa72'/>
<id>urn:sha1:0f533c728418fd3ef6ebcae5240e8df566cdaa72</id>
<content type='text'>
This prepares the code in pack-bitmap to interpret the new multi-pack
bitmaps described in Documentation/technical/bitmap-format.txt, which
mostly involves converting bit positions to accommodate looking them up
in a MIDX.

Note that there are currently no writers who write multi-pack bitmaps,
and that this will be implemented in the subsequent commit. Note also
that get_midx_checksum() and get_midx_filename() are made non-static so
they can be called from pack-bitmap.c.

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>object-store.h: teach for_each_packed_object to ignore kept packs</title>
<updated>2021-08-30T06:23:39Z</updated>
<author>
<name>Taylor Blau</name>
<email>me@ttaylorr.com</email>
</author>
<published>2021-08-30T02:48:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a241878ac7b67b1894c14d3c3e33ed13f11ae253'/>
<id>urn:sha1:a241878ac7b67b1894c14d3c3e33ed13f11ae253</id>
<content type='text'>
The next patch will reimplement a function that wants to iterate over
packed objects while ignoring packs which are marked as kept (either
in-core or on-disk).

Teach for_each_packed_object() to ignore all objects from those packs by
adding a new flag for each of the "kept" states that a pack can be in.

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>xmmap: inform Linux users of tuning knobs on ENOMEM</title>
<updated>2021-06-30T06:14:25Z</updated>
<author>
<name>Eric Wong</name>
<email>e@80x24.org</email>
</author>
<published>2021-06-30T00:01:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dc0592941138df684770bfe800ccad6b810214c3'/>
<id>urn:sha1:dc0592941138df684770bfe800ccad6b810214c3</id>
<content type='text'>
Linux users may benefit from additional information on how to
avoid ENOMEM from mmap despite the system having enough RAM to
accomodate them.  We can't reliably unmap pack windows to work
around the issue since malloc and other library routines may
mmap without our knowledge.

Signed-off-by: Eric Wong &lt;e@80x24.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
