Re: [PATCH 5/6] pack-bitmap: save "have" bitmap from walk
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Aug 31, 2018, 15:23 UTC
- Message-ID
- <8736uud0gq.fsf@evledraar.gmail.com>
- In-Reply-To
- <20180821190701.GE30764@sigill.intra.peff.net>
On Tue, Aug 21 2018, Jeff King wrote:
Show 9 quoted lines
> +int bitmap_has_sha1_in_uninteresting(struct bitmap_index *bitmap_git,
> + const unsigned char *sha1)
> +{
> + int pos;
> +
> + if (!bitmap_git)
> + return 0; /* no bitmap loaded */
> + if (!bitmap_git->result)
> + BUG("failed to perform bitmap walk before querying");Some part of what calls this completely breaks pushing from the "next" branch when you have local bitmaps (we *really* should have some tests for this...).
I don't have time to dig now, but just on my local git.git on next @ b1634b371dc2e46f9b43c45fd1857c2e2688f96e:
u git (next $=) $ git repack -Ad --window=10 --depth=10 --write-bitmap-index --pack-kept-objects
Enumerating objects: 616909, done.
Counting objects: 100% (616909/616909), done.
Delta compression using up to 8 threads
Compressing objects: 100% (146475/146475), done.
Writing objects: 100% (616909/616909), done.
Selecting bitmap commits: 168027, done. BBuilding bitmaps: 100% (338/338), done.
Total 616909 (delta 497494), reused 582609 (delta 467530)
u git (next $=) $ ./git --exec-path=$PWD push avar next:avar/next-push
Enumerating objects: 1330, done.
BUG: pack-bitmap.c:1132: failed to perform bitmap walk before querying
error: pack-objects died of signal 6
error: pack-objects died of signal 6
error: remote unpack failed: eof before pack header was fully read
error: failed to push some refs to 'git@github.com:avar/git.git'Removing the bitmap makes it work again:
u git (next $=) $ rm .git/objects/pack/pack-496088d9464cd79dfcac50dd0d72dcd6faee8253.bitmap
rm: remove write-protected regular file '.git/objects/pack/pack-496088d9464cd79dfcac50dd0d72dcd6faee8253.bitmap'? y
u git (next $=) $ ./git --exec-path=$PWD push avar next:avar/next-push
Enumerating objects: 2834, done.
Counting objects: 100% (1799/1799), done.
Delta compression using up to 8 threads
Compressing objects: 100% (591/591), done.
Writing objects: 100% (1390/1390), 430.11 KiB | 15.36 MiB/s, done.
Total 1390 (delta 1100), reused 1072 (delta 798)
remote: Resolving deltas: 100% (1100/1100), completed with 214 local objects.
To github.com:avar/git.git
* [new branch] next -> avar/next-pushToday I deployed next + my patches @ work. Broke pushes in one place where repacks were being done manually with --write-bitmap-index.