BookinglyTech News
Software

Git 2.56 refuerza la resolución de conflictos y acelera el merge-base

Git 2.56 añade git add --resolved, que limita el staging a los archivos en conflicto y falla si quedan marcadores. También acelera merge-base y habilita bitmaps en repacks path-walk.

2 min de lecturaAlternativeTo0 vistas

Git 2.56 incorpora git add --resolved, una opción que prepara solo las rutas implicadas en un conflicto de merge y se niega a seguir si los archivos seleccionados todavía tienen marcadores de conflicto. La misma versión mejora el recorrido de merge-base, con aumentos de velocidad reportados en casos de monorepos y del kernel de Linux. Además, los repacks con path-walk pueden usar mapas de bits de alcanzabilidad e islas delta, lo que elimina dos obstáculos para evaluar su ahorro de almacenamiento en hosts de repositorios.

Resolver conflictos sin arrastrar todo

La opción --resolved nace de un problema cotidiano: después de un merge complicado, es fácil hacer git add de más y dejar en el índice archivos que aún contienen <<<<<<<, ======= o >>>>>>>. La nueva opción acota el staging a los paths que participan en el conflicto y aborta si alguno sigue con marcadores. Para un desarrollador que resuelve un merge a mano, reduce el riesgo de commitear basura; para un pipeline de CI, recorta la superficie de un error que luego aparece en una pull request o en una revisión.

Monorepos y repositorios grandes

El cambio en merge-base traversal apunta al mismo tipo de usuario: quien trabaja con repositorios donde calcular el ancestro común se vuelve una operación pesada. Los casos reportados hablan de mejoras grandes en monorepos y en el árbol del kernel de Linux. No hay cifras públicas en el anuncio, así que conviene tomarlas como lo que son: resultados reportados, no una promesa universal. En repacks, los bitmaps de alcanzabilidad y las islas delta eran dos piezas que faltaban para que el path-walk pudiera evaluarse en condiciones reales de almacenamiento. Eso importa a quien aloja repositorios, porque de ahí salen decisiones sobre tamaño, tiempo de empaquetado y coste de disco.

Git sigue siendo una pieza de infraestructura que casi nadie actualiza el mismo día. Para un equipo de plataforma, 2.56 toca dos frentes que se notan cuando el repositorio crece: resolución de conflictos y operaciones de mantenimiento. La pregunta práctica es cuándo llega a las distribuciones y si las mejoras de merge-base se sostienen en repositorios con formas distintas a las de los casos reportados.