Por Anónimo (no verificado) , 29 Abril 2026

El problema de muchos packs

Un repo con muchos packfiles debe buscar en cada uno para localizar un objeto — una búsqueda binaria por pack. Con docenas o cientos de packs (común en repos activos usando repack geométrico), este costo O(packs × log objetos) se acumula. El multi-pack-index (MIDX) consolida todos los índices de pack en una búsqueda binaria.

Escribir

git multi-pack-index write
git multi-pack-index verify
git multi-pack-index expire
git multi-pack-index repack --batch-size=2g

Configuración

git config core.multiPackIndex true
git config maintenance.multi-pack-index.enabled true

Bitmap MIDX (Git 2.34+)

git multi-pack-index write --bitmap
git config repack.writeBitmaps true
git config pack.writeBitmaps true

Integración geométrica

MIDX brilla emparejado con repack geométrico: muchos packs son normales, la búsqueda permanece rápida, y solo los packs más pequeños se repackean rutinariamente.

Verificación

git multi-pack-index verify
git fsck --multi-pack-index
ls -la .git/objects/pack/multi-pack-index*

Errores comunes

Eliminar manualmente archivos de pack referenciados por el MIDX; siempre usa multi-pack-index expire.

Impacto en rendimiento

En un repo con 50+ packs, el tiempo de búsqueda de objetos puede caer 5-10x.