Git 2.37 er allerede utgitt, og dette er nyhetene

Lanseringen av den nye versjonen av Git 2.37, som er en av mest populære versjonskontrollsystemer, pålitelig og høyytelses programvare som gir fleksible ikke-lineære utviklingsverktøy basert på gafler og sammenslåinger av gafler.

For å sikre historiens integritet og motstand mot endringer, brukes den "bakover" implisitte hasjen av all tidligere historie på hver commit, det er også mulig å verifisere de digitale signaturene til individuelle tag- og commit-utviklere.

Git 2.37 Viktige nye funksjoner

Sammenlignet med forrige versjon, 395 endringer ble akseptert i den nye versjonen, utarbeidet med deltagelse av 75 utviklere, hvorav 20 deltok i utviklingen for første gang.

I denne nye versjonen er det fremhevet det mekanismen for partielle indekser (sparse index), som bare dekker en del av depotet, se er forberedt for utbredt bruk. Delvise indekser kan forbedre ytelsen og spare plass i depoter som utfører delvise kloneoperasjoner (sparsom utsjekking) eller opererer på en ufullstendig kopi av depotet.

Den nye versjonen fullfører arbeidet med integrering av delindekser i kommandoer "git show", "git sparse-checkout" og "git stash". Den mest merkbare ytelsesgevinsten ved å bruke delvise indekser er i "git stash"-kommandoen, som er opptil 80 % raskere i noen situasjoner.

En annen endring som skiller seg ut er at en ny "cruft packs"-mekanisme er implementert å pakke uoppnåelige objekter som ikke er referert til i depotet (ikke referert av grener eller tagger). Søppelsamleren sletter uoppnåelige objekter, men de forblir i depotet i en viss tid før de sletter dem for å unngå raseforhold. For å spore perioden med uoppnåelige objekter, kreves binding, de er merket med endringstiden for lignende objekter, noe som ikke tillater at de lagres i en buntfil, der alle objekter har en felles endringstid.

Ved å lagre hvert tidligere brukt objekt i en separat fil, forårsaket filen problemer i nærvær av et stort antall nye uoppnåelige objekter, ikke ennå. Den foreslåtte "cruft packs"-mekanismen gjør at alle uoppnåelige objekter kan lagres i en buntfil, og data om endringstiden for hvert objekt reflekteres i en separat tabell lagret i en fil med filtypen ".mtimes".

For Windows og macOS er det en innebygd mekanisme å holde styr på endringer i filsystemet, som eliminerer behovet for å liste opp hele arbeidskatalogen når du utfører operasjoner som "git status". Tidligere, for å spore endringer via kroker, kunne du koble til eksterne filsystem endringssporingsverktøy, for eksempel Watchman, men dette krevde installasjon av flere programmer og konfigurasjoner. Denne funksjonaliteten er nå innebygd og kan aktiveres med "git config core.fsmonitor true".

Kommandoen "git sparse-checkout" har droppet støtte for et alternativ til "--cone"-modus maldefinisjon for delvis kloning, som tillater, når du definerer delen av depotet som er gjenstand for kloningsoperasjonen, å liste individuelle filer ved å bruke ".gitignore"-syntaksen, som ikke tillater bruk for å optimalisere delvise indekser.

Av de andre endringene som skiller seg ut:

  • Forbedret fleksibilitet ved konfigurering av fsync()-kallet for å tømme endringer til disk.
  • Lagt til støtte for "batch"-synkroniseringsstrategien til "core.fsyncMethod"-parameteren, som øker hastigheten på arbeidet når du skriver et stort antall separate filer ved å akkumulere endringer i omskrivningsbufferen som tømmes av et enkelt fsync()-kall.
  • Traversal-kommandoer som "git log" og "git rev-list" har nå alternativet "–since-as-filter=X" for å filtrere informasjon om commits eldre enn "X".
  • I "git remote"-kommandoen gir spesifisering av "-v"-flagget informasjon om delvise kloner av depotet.
  • Lagt til "transfer.credentialsInUrl"-innstilling, som kan ta verdiene "warn", "die" og "allow". Hvis parameteren "remote. .url" spesifiserer legitimasjon i ren tekst, et forsøk på å utføre "get" eller "push" operasjoner vil mislykkes hvis "transfer.credentialsInUrl"-innstillingen er satt til "die", eller en advarsel hvis satt til "warn" .
  • Som standard brukes den nye interaktive modusimplementeringen av "git add -i"-kommandoen, omskrevet fra Perl til C.

Endelig hvis du er interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.