Code

t7700-repack: add two new tests demonstrating repacking flaws
authorBrandon Casey <casey@nrlssc.navy.mil>
Fri, 20 Mar 2009 03:47:50 +0000 (22:47 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 20 Mar 2009 20:32:33 +0000 (13:32 -0700)
commit92cd872202241a0b80e88dadac5a4db071c8d1fa
tree9a8a8c7aa0578e355169066c11cca321cf2672c6
parent69e020ae00ebd3f7ae3c2f35acb139361417ef64
t7700-repack: add two new tests demonstrating repacking flaws

1) The new --kept-pack-only mechansim of rev-list/pack-objects has
     replaced --unpacked=.  This new mechansim does not operate solely on
     "local" packs now.  The result is that objects residing in an alternate
     pack which has a .keep file will not be repacked with repack -a.

     This flaw is only apparent when a commit object is the one residing in
     an alternate kept pack.

  2) The 'repack unpacked objects' and 'loosen unpacked objects' mechanisms
     of pack-objects, i.e. --keep-unreachable and --unpack-unreachable,
     now do not operate solely on local packs.  The --keep-unreachable
     option no longer has any callers, but --unpack-unreachable is used when
     repack is called with '-A -d' and the local repo has existing packs.
     In this case, objects residing in alternate, not-kept packs will be
     loosened, and then immediately deleted by repack's call to
     prune-packed.

     The test must manually call pack-objects to avoid the call to
     prune-packed that is made by repack when -d is used.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7700-repack.sh