Files
git/builtin
Taylor Blau 3ba3d0621b pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
The set of objects covered by a bitmap must be closed under
reachability, since it must be the case that there is a valid bit
position assigned for every possible reachable object (otherwise the
bitmaps would be incomplete).

Pack bitmaps are never written from 'git repack' unless repacking
all-into-one, and so we never write non-closed bitmaps (except in the
case of partial clones where we aren't guaranteed to have all objects).

But multi-pack bitmaps change this, since it isn't known whether the
set of objects in the MIDX is closed under reachability until walking
them. Plumb through a bit that is set when a reachable object isn't
found.

As soon as a reachable object isn't found in the set of objects to
include in the bitmap, bitmap_writer_build() knows that the set is not
closed, and so it now fails gracefully.

A test is added in t0410 to trigger a bitmap write without full
reachability closure by removing local copies of some reachable objects
from a promisor remote.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-08-24 13:21:13 -07:00
..
2020-07-30 19:18:06 -07:00
2021-02-25 16:43:29 -08:00
2021-04-20 11:09:50 -07:00
2021-06-04 07:50:26 +09:00
2021-01-06 15:10:49 -08:00
2020-10-16 12:30:45 -07:00
2021-02-25 16:43:30 -08:00
2021-02-25 16:43:30 -08:00
2021-07-28 13:17:59 -07:00
2020-03-24 15:04:43 -07:00
2021-05-07 12:47:41 +09:00
2021-06-02 07:34:27 +09:00
2021-05-12 07:00:45 +09:00
2021-07-28 13:17:58 -07:00
2021-04-07 16:54:08 -07:00
2021-04-14 13:47:21 -07:00
2021-08-04 13:28:54 -07:00
2021-03-13 16:00:09 -08:00
2020-03-24 15:04:44 -07:00
2020-05-13 12:19:18 -07:00
2021-06-19 16:36:17 +09:00
2021-06-02 10:12:03 +09:00
2021-04-07 16:54:08 -07:00
2020-07-30 19:18:06 -07:00
2021-05-07 12:47:41 +09:00
2021-01-25 14:19:19 -08:00
2021-07-30 12:14:27 -07:00
2021-07-16 17:42:53 -07:00
2021-04-20 11:09:50 -07:00
2021-04-14 13:47:29 -07:00
2020-07-30 19:18:06 -07:00
2020-08-11 18:04:11 -07:00
2019-06-19 08:19:21 -07:00