Lanzamiento del sistema de control de versiones Git 2.53

Se ha presentado el lanzamiento del sistema distribuido de control de versiones Git 2.53. Git se destaca por su alto rendimiento y proporciona herramientas de desarrollo no lineales basadas en bifurcaciones y fusiones de ramas. Para garantizar la integridad de la historia y la resistencia a cambios retroactivos, se utiliza un hash implícito de toda la historia previa en cada commit, así como la verificación con firmas digitales de los desarrolladores en etiquetas y commits individuales. El código de Git se distribuye bajo la licencia GPLv2+.

En comparación con la versión anterior, en la nueva versión se han aceptado 466 cambios, preparados con la participación de 70 desarrolladores (21 de los cuales participaron por primera vez en el desarrollo de Git). Principales novedades:

  • Se ha añadido la posibilidad de aplicar la estrategia de empaquetado de repositorios 'geometric' ('git repack --geometric') a repositorios externos parcialmente clonados que operan en modo 'promisor' (los objetos faltantes se descargan según sea necesario). Al reempaquetar con opciones '--geometric', los archivos pack con la extensión '.promisor' se procesan y empaquetan por separado. La estrategia 'geometric' permite reducir el tiempo de mantenimiento de grandes monorepositorios mediante un reempaquetado selectivo de objetos y la exclusión de operaciones intensivas en recursos, como la fusión de todos los archivos pack (se mantiene la progresión geométrica del tamaño de los archivos pack, donde cada archivo pack sucesivo debe ser al menos el doble del anterior).
  • Se ha añadido a la herramienta 'git fast-import' la opción '--signed-commits=strip-if-invalid' para eliminar las firmas digitales de los objetos importados que se han vuelto inválidos tras la reescritura de parte de la historia del repositorio. Antes se podía importar o eliminar todas las firmas, sin diferenciación entre las válidas y las que han perdido sentido. La opción 'strip-if-invalid' permite implementar herramientas para conservar las firmas válidas y volver a firmar objetos con firmas que han perdido su relevancia.
  • En la salida del comando «git repo structure» se ha añadido información sobre el tamaño de todos los objetos alcanzables (reachable) en el repositorio, desglosado por sus tipos. La información ahora se presenta en un formato legible con unidades de medida y se muestra por separado para los tamaños reales y ocupados en disco, lo que permite evaluar el tamaño total del repositorio en disco. $ git repo structure | Estructura del repositorio | Valor | | ——————— | ———- | | * Referencias | | | * Conteo | 1.78 k | | * Ramas | 5 | | * Etiquetas | 1.03 k | | * Remotos | 749 | | * Otros | 0 | | | | | * Objetos alcanzables | | | * Conteo | 421.37 k | | * Commits | 88.03 k | | * Árboles | 169.95 k | | * Blobs | 162.40 k | | * Etiquetas | 994 | | * Tamaño inflado | 7.61 GiB | | * Commits | 60.95 MiB | | * Árboles | 2.44 GiB | | * Blobs | 5.11 GiB | | * Etiquetas | 731.73 KiB | | * Tamaño en disco | 301.50 MiB | | * Commits | 33.57 MiB | | * Árboles | 77.92 MiB | | * Blobs | 189.44 MiB | | * Etiquetas | 578.13 KiB |
  • Se ha añadido el subcomando «is-needed» al comando «git maintenance» para realizar operaciones de mantenimiento en el repositorio solo cuando sea necesario.
  • El comando experimental «git replay» ahora, por defecto, implementa la actualización de referencias en la transacción, en lugar de mostrar adónde deben apuntar las referencias sin actualización.
  • Se ha añadido la posibilidad de elegir el algoritmo de evaluación de diferencias en el comando «git blame» mediante la opción «—diff-algorithm=<algo>».
  • Se ha añadido la opción «—all» al comando «git repo info».
  • Se ha trasladado el soporte para enlaces simbólicos de Git-for-Windows a la plataforma Windows.

La versión anterior incluyó una advertencia sobre la inclusión por defecto del ensamblaje de componentes en Rust en Git 2.53. Sin embargo, en la versión Git 2.53, solo se han añadido mejoras específicas de soporte para Rust (la capacidad de ensamblar sin GNU sed), pero el ensamblaje con Rust utilizando Makefile se mantiene desactivado por defecto (requiere habilitar la bandera WITH_RUST), mientras que utilizando Meson se activa automáticamente si hay un compilador rustc disponible. En la versión Git 3.0, se planea incluir las herramientas de Rust como dependencias de ensamblaje obligatorias.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster