<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/git-repack.txt, branch v2.22.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.22.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.22.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2018-09-17T20:53:55Z</updated>
<entry>
<title>Merge branch 'cc/delta-islands'</title>
<updated>2018-09-17T20:53:55Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-09-17T20:53:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f3504ea3dd21b0a6d38bcd369efa0663cdc05416'/>
<id>urn:sha1:f3504ea3dd21b0a6d38bcd369efa0663cdc05416</id>
<content type='text'>
Lift code from GitHub to restrict delta computation so that an
object that exists in one fork is not made into a delta against
another object that does not appear in the same forked repository.

* cc/delta-islands:
  pack-objects: move 'layer' into 'struct packing_data'
  pack-objects: move tree_depth into 'struct packing_data'
  t5320: tests for delta islands
  repack: add delta-islands support
  pack-objects: add delta-islands support
  pack-objects: refactor code into compute_layer_order()
  Add delta-islands.{c,h}
</content>
</entry>
<entry>
<title>repack: add delta-islands support</title>
<updated>2018-08-16T17:51:17Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2018-08-16T06:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=16d75fa48d535ae3f19b221638989cac955f42fb'/>
<id>urn:sha1:16d75fa48d535ae3f19b221638989cac955f42fb</id>
<content type='text'>
Implement simple support for --delta-islands option and
repack.useDeltaIslands config variable in git repack.

This allows users to setup delta islands in their config and
get the benefit of less disk usage while cloning and fetching
is still quite fast and not much more CPU intensive.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
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>repack: repack promisor objects if -a or -A is set</title>
<updated>2018-08-09T16:17:39Z</updated>
<author>
<name>Jonathan Tan</name>
<email>jonathantanmy@google.com</email>
</author>
<published>2018-08-08T22:34:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5d19e8138d5f24dbbe8d3736b4e57e117fc099b3'/>
<id>urn:sha1:5d19e8138d5f24dbbe8d3736b4e57e117fc099b3</id>
<content type='text'>
Currently, repack does not touch promisor packfiles at all, potentially
causing the performance of repositories that have many such packfiles to
drop. Therefore, repack all promisor objects if invoked with -a or -A.

This is done by an additional invocation of pack-objects on all promisor
objects individually given, which takes care of deduplication and allows
the resulting packfiles to respect flags such as --max-pack-size.

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>Merge branch 'nd/pack-objects-pack-struct'</title>
<updated>2018-05-23T05:38:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-23T05:38:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad635e82d600e1b725a2e65d69114140db6bc876'/>
<id>urn:sha1:ad635e82d600e1b725a2e65d69114140db6bc876</id>
<content type='text'>
"git pack-objects" needs to allocate tons of "struct object_entry"
while doing its work, and shrinking its size helps the performance
quite a bit.

* nd/pack-objects-pack-struct:
  ci: exercise the whole test suite with uncommon code in pack-objects
  pack-objects: reorder members to shrink struct object_entry
  pack-objects: shrink delta_size field in struct object_entry
  pack-objects: shrink size field in struct object_entry
  pack-objects: clarify the use of object_entry::size
  pack-objects: don't check size when the object is bad
  pack-objects: shrink z_delta_size field in struct object_entry
  pack-objects: refer to delta objects by index instead of pointer
  pack-objects: move in_pack out of struct object_entry
  pack-objects: move in_pack_pos out of struct object_entry
  pack-objects: use bitfield for object_entry::depth
  pack-objects: use bitfield for object_entry::dfs_state
  pack-objects: turn type and in_pack_type to bitfields
  pack-objects: a bit of document about struct object_entry
  read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean
</content>
</entry>
<entry>
<title>repack: add --keep-pack option</title>
<updated>2018-04-16T04:52:29Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2018-04-15T15:36:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ed7e5fc3a2562e3d4fb4fe25e8dca0e9daa0ed13'/>
<id>urn:sha1:ed7e5fc3a2562e3d4fb4fe25e8dca0e9daa0ed13</id>
<content type='text'>
We allow to keep existing packs by having companion .keep files. This
is helpful when a pack is permanently kept. In the next patch, git-gc
just wants to keep a pack temporarily, for one pack-objects
run. git-gc can use --keep-pack for this use case.

A note about why the pack_keep field cannot be reused and
pack_keep_in_core has to be added. This is about the case when
--keep-pack is specified together with either --keep-unreachable or
--unpack-unreachable, but --honor-pack-keep is NOT specified.

In this case, we want to exclude objects from the packs specified on
command line, not from ones with .keep files. If only one bit flag is
used, we have to clear pack_keep on pack files with the .keep file.

But we can't make any assumption about unreachable objects in .keep
packs. If "pack_keep" field is false for .keep packs, we could
potentially pull lots of unreachable objects into the new pack, or
unpack them loose. The safer approach is ignore all packs with either
.keep file or --keep-pack.

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>pack-objects: use bitfield for object_entry::depth</title>
<updated>2018-04-16T03:38:58Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2018-04-14T15:35:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b5c0cbd8083f71e071207fca0d5434c6db6ff6c9'/>
<id>urn:sha1:b5c0cbd8083f71e071207fca0d5434c6db6ff6c9</id>
<content type='text'>
Because of struct packing from now on we can only handle max depth
4095 (or even lower when new booleans are added in this struct). This
should be ok since long delta chain will cause significant slow down
anyway.

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>repack: accept --threads=&lt;n&gt; and pass it down to pack-objects</title>
<updated>2017-04-26T23:09:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2017-04-26T23:09:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=40bcf3188a6f02acba94587593124ccca5a37e2b'/>
<id>urn:sha1:40bcf3188a6f02acba94587593124ccca5a37e2b</id>
<content type='text'>
We already do so for --window=&lt;n&gt; and --depth=&lt;n&gt;; this will help
when the user wants to force --threads=1 for reproducible testing
without getting affected by racing multiple threads.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ms/document-pack-window-memory-is-per-thread'</title>
<updated>2016-08-12T16:47:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-12T16:47:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=62134efdba558180df997299df565e08e662f4c7'/>
<id>urn:sha1:62134efdba558180df997299df565e08e662f4c7</id>
<content type='text'>
* ms/document-pack-window-memory-is-per-thread:
  document git-repack interaction of pack.threads and pack.windowMemory
</content>
</entry>
<entry>
<title>document git-repack interaction of pack.threads and pack.windowMemory</title>
<updated>2016-08-10T17:55:13Z</updated>
<author>
<name>Michael Stahl</name>
<email>mstahl@redhat.com</email>
</author>
<published>2016-08-10T10:39:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=954176c1288d70818fb03c6e04a8cbfb0db4e704'/>
<id>urn:sha1:954176c1288d70818fb03c6e04a8cbfb0db4e704</id>
<content type='text'>
Signed-off-by: Michael Stahl &lt;mstahl@redhat.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mm/doc-tt'</title>
<updated>2016-07-13T18:24:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-13T18:24:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ce18123cec7674b58bb57272fdfa28de6ecc6b18'/>
<id>urn:sha1:ce18123cec7674b58bb57272fdfa28de6ecc6b18</id>
<content type='text'>
More mark-up updates to typeset strings that are expected to
literally typed by the end user in fixed-width font.

* mm/doc-tt:
  doc: typeset HEAD and variants as literal
  CodingGuidelines: formatting HEAD in documentation
  doc: typeset long options with argument as literal
  doc: typeset '--' as literal
  doc: typeset long command-line options as literal
  doc: typeset short command-line options as literal
  Documentation/git-mv.txt: fix whitespace indentation
</content>
</entry>
</feed>
