Git 2.41 ja va ser alliberat i aquestes són les seves novetats

Git 2.41

Git 2.41 implementa millores en el maneig de repositoris

Després de tres mesos de desenvolupament, es va donar a conèixer el llançament de la nova versió del sistema de control de codi font distribuït Git 2.41. En comparació amb la versió anterior, es van acceptar 542 canvis a la nova versió, preparada amb la participació de 95 desenvolupadors, dels quals 29 van participar en el desenvolupament per primera vegada.

Per als que desconeixen de Git, han de saber que és un dels sistemes de control de versions més populars, fiables i d'alt rendiment que proporciona eines de desenvolupament no lineal flexibles basades en bifurcacions i fusions de bifurcacions.

Principals novetats de Git 2.41

En aquesta nova versió destaca que s'ha millorat el maneig d'objectes «unreachable» a els que no es fa referència al repositori (no es fa referència a branques o etiquetes). El recol·lector d'escombraries elimina els objectes, però romanen al repositori durant un cert temps abans d'eliminar-los per evitar condicions de carrera.

Per fer un seguiment del període dels objectes, cal vincular-los etiquetes amb el temps de canvi d'objectes similars, cosa que no permet emmagatzemar-los en un fitxer de paquet, on tots els objectes tenen un temps de canvi comú.

Anteriorment, cada objecte s'emmagatzemava en un fitxer separat, cosa que generava problemes si hi havia una gran quantitat d'objectes nous que encara no estaven subjectes a eliminació. A la nova versió, Cruft Packs s'utilitza per defecte per empaquetar objectes «inabastable«, que permet emmagatzemar tots els objectes en un fitxer de paquet i reflectir les dades sobre el temps de modificació de cada objecte en una taula separada emmagatzemada en un fitxer amb l'extensió «.mtimes» i vinculat mitjançant un fitxer d'índex amb l'Extensió idx.

Un altre dels canvis que es destaca d'aquesta nova versió, és que està habilitat el manteniment de revindex al disc per als fitxers del paquet. Quan es va provar als repositoris Torvalds/Linux, l'ús d'un índex invers s'esmenta que va permetre accelerar les operacions git push que consumeixen molts recursos en 1,49 vegades, i les operacions simples, com calcular la mida d'un sol objecte usant «git cat- file –batch='%(objectsize:disk) '» 77 vegades.

L'índex invers inclòs a la nova versió té com a objectiu agilitzar el procés de determinació de la identificació de l'objecte a partir de la informació sobre la ubicació de l'objecte al fitxer del paquet. L'operació de construir un índex es redueix a construir una matriu de parells de «posició d'objecte» i ordenar-la per posició, cosa que pot durar molt de temps per a fitxers de paquets grans.

Per exemple, l'operació de mostrar el contingut dels objectes, que fa servir un índex directe, va ser 62 vegades més ràpida que l'operació de mostrar la mida dels objectes, per als quals no es van indexar les dades de relació de posició a objecte. Després de fer servir l'índex invers, aquestes operacions van començar a prendre aproximadament el mateix temps. Els índexs inversos també us permeten accelerar l'operació d'enviament d'objectes en executar ordres de cerca i enviament mitjançant la transferència directa de dades preparades des del disc.

També es destaca que a Git 2.41 es va afegir suport per passar encapçalats WWW-Authenticate entre el controlador de credencials i el servei d'autenticació al protocol assistent de credencials que s'utilitza per passar credencials quan s'accedeix a dipòsits restringits. la compatibilitat amb la capçalera WWW-Authenticate permet que els paràmetres d'abast OAuth es passin a un accés d'usuari separat de manera més granular els repositoris i delimiten els abasts disponibles per a les sol·licituds.

Dels altres canvis que es destaquen de la nova versió:

  • S'ha afegit l'opció de format «%(ahead-behind: )» a l'ordre for-each-ref, que permet obtenir informació immediatament sobre la quantitat de confirmacions presents o absents en una determinada branca, en relació amb una altra branca.
  • Es va agregar l'opció «–porcelain» a l'ordre git fetch, que genera una sortida al format « », menys llegible, però més convenient per analitzar en scripts.
  • Es va agregar la configuració «fetch.hideRefs» per accelerar les operacions «git fetch» ocultant part de les referències al repositori local en l'etapa de verificació que el servidor va enviar el conjunt complet d'objectes, cosa que estalvia temps en limitar la verificació només als servidors de què es recuperen directament les dades.
    La comanda «git fsck» implementa la capacitat de verificar corrupció, coincidència de suma de verificació i validació de valors a mapes de bits d'accessibilitat i índexs inversos.
  • La comanda «git clone –local» ara mostra un error en intentar copiar des d'un repositori que conté enllaços simbòlics dins de $GIT_DIR.

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


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.