Git 2.53

2 de febrero presentado lanzamiento del sistema distribuido de control de versiones Git 2.53.

Git se destaca por su alto rendimiento y proporciona herramientas para el desarrollo no lineal basadas en bifurcaciones y fusiones de ramas. Para garantizar la integridad del historial y la resistencia a cambios retroactivos, se utiliza un hashing implícito de todo el historial previo en cada commit, así como la certificación con firmas digitales de los desarrolladores en etiquetas y commits individuales. Código Git se distribuye bajo la licencia GPLv2+.

En comparación con la versión anterior, en la nueva versión se han incluido 466 cambios, preparados por 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 geométricos (git repack --geometric) a repositorios externos clonados parcialmente, que operan en modo promisor (los objetos faltantes se descargan según sea necesario). Al volver a empaquetar con opciones --geometric, los archivos pack con la extensión .promisor se procesan y empaquetan por separado. La estrategia geométrica permite reducir el tiempo de mantenimiento de grandes monorepositorios, mediante el empaquetado selectivo de objetos y evitando operaciones costosas, como la fusión de todos los archivos pack (se mantiene la progresión geométrica en el tamaño de los archivos pack, donde cada archivo pack posterior 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 resultaron inválidos después de reescribir parte del historial del repositorio. Hasta ahora, solo se podía importar o eliminar todas las firmas, sin diferenciarlas entre válidas e inválidas. La opción strip-if-invalid permite implementar herramientas para conservar las firmas válidas y volver a firmar los objetos con firmas que han perdido relevancia.
  • Se ha añadido al output del comando git repo structure información sobre el tamaño de todos los objetos alcanzables (reachable) en el repositorio, desglosada por tipo. La información ahora se presenta de manera legible con unidades de medida y se muestra por separado para el tamaño real y el que ocupa en disco, lo que permite estimar 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 | | * Confirmaciones | 88.03 k | | * Árboles | 169.95 k | | * Blobs | 162.40 k | | * Etiquetas | 994 | | * Tamaño inflado | 7.61 GiB | | * Confirmaciones | 60.95 MiB | | * Árboles | 2.44 GiB | | * Blobs | 5.11 GiB | | * Etiquetas | 731.73 KiB | | * Tamaño del disco | 301.50 MiB | | * Confirmaciones | 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 del repositorio solo cuando sea necesario.
  • En el equipo experimental git replay, por defecto se implementa la actualización de referencias en la transacción, en lugar de mostrar a dónde deberían apuntar las referencias sin actualizarlas.
  • Se ha añadido la opción —diff-algorithm=<algo> al comando git blame para seleccionar el algoritmo de evaluación de diferencias.
  • Se ha añadido la opción —all al comando git repo info.
  • Se ha trasladado el soporte para enlaces simbólicos desde Git-for-Windows para la plataforma Windows.

Se añadió en el lanzamiento anterior una advertencia sobre la activación por defecto de la construcción de componentes en Rust en Git 2.53. Sin embargo, en la versión Git 2.53, solo agregados se mejoró el soporte para Rust (posibilidad de construir sin GNU sed), pero la construcción con Rust al utilizar Makefile se dejó desactivada por defecto (requiere el flag WITH_RUST), y al utilizar Meson se activa automáticamente si hay un compilador rustc presente. En la versión Git 3.0, planean incluir el entorno de Rust como una dependencia de construcción obligatoria. El 2 de febrero se presentó la versión del sistema de control de versiones distribuido

Fuente: linux.org.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