On Tue, Aug 21 2018, Jeff King wrote:
> +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 '[email protected]: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-push
Today I deployed next + my patches @ work. Broke pushes in one place
where repacks were being done manually with --write-bitmap-index.