Git 2.46 arriba amb millores, correccions i nou tipus de mapes de bits

git 2.46

La nova versió de Git 2.46 arriba després de tres mesos de desenvolupament i en aquest nou llançament s'han incorporat diverses millores i noves característiques significatives com ara el suport experimental per a un nou tipus de mapes de bits, millores al backend experimental «reftable», nova interfície de línia d'ordres per a l'ordre «git config», entre altres coses més.

Aquesta nova versió de Git 2.46 inclou les correccions derrors de més de 96 col·laboradors, 31 nous i com a tal, la nova versió conté 746 canvis.

Principals novetats a Git 2.46

El suport experimental per al mapa de bits d'accessibilitat de pseudofusió és una de les novetats més importants aquest llançament, i és que aquest nou tipus de mapa de bits se diferència de l'estructura tradicional de mapa de bits d'accessibilitat en emmagatzemar dades sobre conjunts d'objectes relacionats amb confirmacions no per a cada confirmació individual, sinó per a diverses confirmacions alhora.

Com a tal, aquest mapa de bits daccessibilitat de pseudofusió permet utilitzar un únic mapa de bits per definir objectes en confirmacions de diferents branques, cosa que resulta en una millora significativa en el rendiment, especialment en repositoris grans. Això accelera operacions com git fetch, git rev-list i git clone, en reduir la necessitat de generar múltiples mapes de bits separats.

Git 2.46 també introdueix diverses millores importants en la interfície de línia d'ordre i en el maneig de credencials i emmagatzematge de dades. S'ha redissenyat la interfície de línia d'ordres per a l'ordre git config, reemplaçant opcions dispars com –get, –get-all, –unset, i –remove-section amb un conjunt de subordres més intuïtius. Per exemple, per mostrar totes les configuracions del dipòsit, ara podeu utilitzar l'ordre «git config list«, i per veure el contingut d'un paràmetre específic, ara podeu utilitzar l'ordre «git config get ». Per filtrar encara més els resultats, podeu utilitzar l'opció “–regexp” per especificar un filtre basat en una expressió regular.

A més, en el protocol «credential helper» s'ha afegit el suport per als nous camps «authtype» i «credential», el que permet crear controladors per a sistemes d'autenticació HTTP que no es limiten a verificar el nom d'usuari i la contrasenya, per exemple, quan s'utilitza Bearer Token a OAuth 2.0. I és que anteriorment, per treballar amb aquests sistemes d'autenticació, calia especificar dades confidencials en text clar al paràmetre http.extraHeader. A més, el protocol afegeix la capacitat de conservar l'estat de cada controlador credencials per admetre mètodes d'autenticació multifactor utilitzats en protocols com NTLM i Kerberos.

D'altra banda, s'ha millorat el desenvolupament del backend experimental «reftable» per a l'emmagatzematge eficient d'enllaços a branques i etiquetes al repositori. La nova versió afegeix la comanda «git refs migrar –ref-format=reftable» per migrar dipòsits existents al backend «reftable» (anteriorment, el backend només s'habilitava quan s'inicialitzava el repositori).

també, a Git 2.46 s'ha iniciat amb el procés per convertir algunes proves del conjunt de proves, ús de proves unitàries. Això té la finalitat de simplificar les proves de components de baix nivell i augmentarà leficiència del procés de proves a la plataforma Windows, que genera grans costos generals quan sexecuta en una gran plataforma un nombre de processos durant lexecució de proves implementades en forma de scripts de shell.

Dels altres canvis que es destaquen d'aquesta nova versió:

  • Es va afegir l'opció “–no-advice” a l'ordre git, que desactiva tots els missatges amb recomanacions i suggeriments, cosa que pot ser útil per evitar que el registre s'obstrueixi amb informació innecessària durant una trucada automàtica de git.
  • Es va afegir la capacitat d'usar la representació #RGB a més de la representació #RRGGBB al codi per analitzar la configuració de color.
  • Quan git merge veu que l'índex no es pot actualitzar (per exemple, degut
    a un altre procés que fa el mateix en segon pla)
  • S'introdueix una macro CPP USE_THE_REPOSITORY_VARIABLE per ajudar a la transició del codi base perquè depengui menys de la disponibilitat de la instància singleton the_repository.
  • git version –build-options informa la informació de la versió de
  • OpenSSL i altres biblioteques (si es fan servir) a la compilació.
  • S'han solucionat les fuites de memòria a git mv
  • Es va actualitzar la compatibilitat amb la finalització de la línia d'ordres per a zsh (en contrib/)
    per deixar d'exposar l'estat intern a la interacció de l'intèrpret d'ordres de l'usuari final

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls al següent enllaç.