Lanzamiento del sistema de control de versiones Git 2.38.

Se ha lanzado la versión del sistema de control de versiones distribuido Git 2.38. Git es uno de los sistemas de control de versiones más populares, confiables y de alto rendimiento, que proporciona herramientas flexibles para el desarrollo no lineal, basado en la ramificación y fusión de ramas. Para garantizar la integridad del historial y la resistencia contra cambios retroactivos, se utiliza un hash implícito de todo el historial anterior en cada commit, y también es posible autenticar etiquetas y commits individuales con firmas digitales de los desarrolladores.

En comparación con la versión anterior, se han integrado 699 cambios en la nueva versión, preparados con la participación de 92 desarrolladores, de los cuales 24 participaron en el desarrollo por primera vez. Las principales novedades son:

  • Se ha incluido en el conjunto principal la herramienta "scalar", desarrollada por Microsoft para gestionar grandes repositorios. Originalmente, la herramienta fue escrita en C#, pero se ha incluido en git una versión reescrita en C. La nueva herramienta se diferencia del comando git al incluir por defecto capacidades y configuraciones adicionales que afectan el rendimiento al trabajar con repositorios muy grandes. Por ejemplo, al utilizar scalar se aplica:
    • Clonación parcial para trabajar con una copia incompleta del repositorio.
    • Un mecanismo incorporado de seguimiento de cambios en el sistema de archivos (FSMonitor), que permite evitar la revisión de todo el directorio de trabajo.
    • Índices que abarcan objetos en diferentes paquetes (multi-pack).
    • Archivos commit-graph con un índice del gráfico de commits, aplicado para optimizar el acceso a la información sobre los commits.
    • Trabajos periódicos en segundo plano para mantener la estructura óptima del repositorio en segundo plano, sin bloquear la sesión interactiva (cada hora se ejecuta un trabajo de carga anticipada de nuevos objetos desde el repositorio remoto y actualización del archivo del gráfico de commits, y cada noche se inicia el proceso de empaquetado del repositorio).
    • El modo "sparseCheckoutCone", que limita las plantillas permitidas durante la clonación parcial.
  • Se ha añadido a la comando "git rebase" la opción "—update-refs" para actualizar las ramas dependientes que intersecan con las ramas movidas, evitando tener que realizar manualmente operaciones de checkout a cada rama dependiente para cambiar al commit requerido.
  • Se garantiza la compatibilidad del comando «git rm» con índices parciales.
  • Se ha mejorado el comportamiento del comando «git mv A B» al mover un archivo de la área de trabajo con índices parciales al área externa, donde este modo no se aplica.
  • Se ha optimizado el formato de archivos bitmap para manejar grandes repositorios: se ha añadido una tabla de índice opcional con una lista de commits seleccionados y sus desplazamientos.
  • En el comando «git merge-tree» se ha implementado un nuevo modo en el que, basándose en dos commits especificados, se calcula un árbol con el resultado de la fusión, como si las historias de esos commits hubieran sido combinadas.
  • Se ha añadido la configuración «safe.barerepository» para gestionar la posibilidad de alojar repositorios bare (repositorios que no contienen un árbol de trabajo) dentro de otros repositorios git. Al establecerse en el valor «explicit», se permitirá trabajar con repositorios bare alojados solo en el directorio superior. Para poder alojar repositorios bare en subdirectorios, se debe utilizar el valor «all».
  • Se ha añadido la opción «-m» («—max-count») en el comando «git grep», análoga a la misma opción en GNU grep, que permite limitar el número de coincidencias mostradas.
  • En el comando «ls-files» se ha implementado la opción «—format» para configurar los campos a mostrar (por ejemplo, se puede incluir la visualización del nombre del objeto, modos, etc.).
  • En «git cat-file», al mostrar el contenido de los objetos, se ha habilitado la posibilidad de considerar los enlaces de autores a correos electrónicos, como se establece en el archivo mailmap.

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