Desde Linux David Naranjo  

Git 2.26.0 llega con búsqueda de contenido real, algunas funciones experimentales y más

git-2-26

Ya se encuentra disponible la nueva versión del sistema de control “Git 2.26.0”, la cual llega con algunas novedades, soportes experimentales y sobre todo optimizaciones. Para quienes desconozcan de Git, deben saber que es uno de los sistemas de control de versiones más populares, confiables y de alto rendimiento, que proporciona herramientas flexibles de desarrollo no lineal basadas en la ramificación y fusión de sucursales.

Para garantizar la integridad de la historia y la resistencia a los cambios en retrospectiva, se utiliza el hash implícito de toda la historia previa en cada confirmación, también es posible firmar digitalmente a los desarrolladores de etiquetas y confirmaciones individuales.

En comparación con el lanzamiento anterior, la nueva versión adoptó 504 cambios preparados con la participación de 64 desarrolladores, de los cuales 12 participaron en el desarrollo por primera vez.

Principales novedades de Git 2.26.0

En esta nueva versión se realizó la transición por defecto a la segunda versión del protocolo de comunicación Git, que se utiliza al conectar un cliente de forma remota a un servidor Git. La segunda versión del protocolo es notable por proporcionar la capacidad de filtrar ramas y etiquetas en el lado del servidor con el regreso de una lista abreviada de enlaces al cliente.

Otra innovación importante es la capacidad de agregar nuevas funciones al protocolo a medida que aparecen nuevas funciones en el kit de herramientas. El código del cliente sigue siendo compatible con el protocolo anterior y puede seguir funcionando con servidores nuevos y antiguos, volviendo automáticamente a la primera versión si el servidor no admite el segundo.

La opción “–show-scope se ha agregado al comandogit config“, que simplifica la identificación del lugar donde se definen ciertas configuraciones.
Git permite definir configuraciones en diferentes lugares: en el repositorio (.git/info/config), en el directorio del usuario (~/.gitconfig), en el archivo de configuración de todo el sistema (/etc/gitconfig), así como a través de opciones de línea de comandos y variables de entorno.

Al ejecutar “git config“, es bastante difícil entender exactamente dónde se define la configuración deseada. La opción “–show-origin” estaba disponible para resolver este problema, pero solo muestra la ruta al archivo en el que está definida la configuración, lo cual es útil si tiene la intención de editar el archivo, pero no ayuda si necesita cambiar el valor a través de “git config” con las opciones –system, –global o –local.

Por otro lado, se mencionan en el anuncio de esta nueva versión que se continuó con la extensión del soporte experimental para clones parciales, lo que permite transferir solo una parte de los datos y trabajar con una copia incompleta del repositorio.

La nueva versión agrega un nuevo comando “git sparse-checkout add”, que le permite agregar directorios separados para aplicar la operacióncheckout” solo a parte del árbol de trabajo, en lugar de enumerar todos esos directorios a la vez a través del comando “git sparse-checkout set“.

El rendimiento del comandogit grep“, que se utiliza para buscar tanto en el contenido real del repositorio como en las revisiones históricas, aumenta notablemente.

Para acelerar la búsqueda, se permitió escanear el contenido del árbol de trabajo usando varios hilos (“git grep –threads“), pero la búsqueda en revisiones históricas fue de un solo hilo. Ahora esta restricción se ha eliminado debido a la implementación de la capacidad de paralelizar las operaciones de lectura del almacén de objetos.

De manera predeterminada, el número de subprocesos se establece igual al número de núcleos de CPU, que en la mayoría de los casos ahora no requiere la configuración explícita de la opción “–threads“.

Se agregó soporte para el autocompletado de la entrada de subcomandos, rutas, enlaces y otros argumentos del comando “git worktree”, que permite trabajar con varias copias de trabajo del repositorio.

Tambien podremos encontrar la nueva versión del script fsmonitor-watchman, que proporciona integración con el mecanismo Facebook Watchman para acelerar el seguimiento de los cambios de archivos y la aparición de nuevos archivos. Después de actualizar git, debe reemplazar el gancho en el repositorio.

Si quieres conocer más al respecto sobre este nuevo lanzamiento, puedes consultar la nota original en el siguiente enlace. 

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.