Git 2.37 har redan släppts och det här är dess nyheter

Lanseringen av den nya versionen av Git 2.37, som är en av de mest populära versionskontrollsystemen, pålitlig och högpresterande programvara som tillhandahåller flexibla olinjära utvecklingsverktyg baserade på gafflar och sammanslagningar av gafflar.

För att säkerställa historiens integritet och motståndskraft mot förändringar används den "bakåtriktade" implicita hashen av all tidigare historia på varje commit, det är också möjligt att verifiera de digitala signaturerna för individuella tagg- och commit-utvecklare.

Git 2.37 Viktiga nya funktioner

Jämfört med föregående version, 395 ändringar accepterades i den nya versionen, utarbetats med deltagande av 75 utvecklare, varav 20 deltog i utvecklingen för första gången.

I den här nya versionen markeras det mekanismen för partiella index (gles index), som endast täcker en del av förvaret, se har förberetts för utbredd användning. Partiella index kan förbättra prestanda och spara utrymme i arkiv som utför partiella klonoperationer (gles utcheckning) eller fungerar på en ofullständig kopia av arkivet.

Den nya versionen avslutar arbetet med integration av partiella index i kommandon "git show", "git sparse-checkout" och "git stash". Den mest märkbara prestandavinsten från att använda partiella index är i kommandot "git stash", som är upp till 80 % snabbare i vissa situationer.

En annan förändring som sticker ut är att en ny "cruft packs"-mekanism har implementerats att paketera oåtkomliga objekt som inte hänvisas till i förvaret (som inte refereras av grenar eller taggar). Sophämtaren raderar oåtkomliga objekt, men de förblir i förvaret under en viss tid innan de raderas för att undvika tävlingsförhållanden. För att spåra perioden för oåtkomliga objekt krävs bindning, de är taggade med ändringstiden för liknande objekt, vilket inte tillåter att de lagras i en buntfil, där alla objekt har en gemensam modifieringstid.

Genom att spara varje tidigare använt objekt i en separat fil, orsakade filen problem i närvaro av ett stort antal nya oåtkomliga objekt, inte ännu. Den föreslagna "cruft packs"-mekanismen tillåter att alla oåtkomliga objekt lagras i en buntfil, och data om ändringstiden för varje objekt återspeglas i en separat tabell lagrad i en fil med filtillägget ".mtimes".

För Windows och macOS finns det en inbyggd mekanism att hålla reda på ändringar i filsystemet, vilket eliminerar behovet av att lista hela arbetskatalogen när du utför operationer som "git status". Tidigare, för att spåra ändringar via krokar, kunde du ansluta externa verktyg för spårning av filsystemändringar, som Watchman, men detta krävde installation av ytterligare program och konfigurationer. Denna funktionalitet är nu inbyggd och kan aktiveras med "git config core.fsmonitor true".

Kommandot "git sparse-checkout" har slutat stödja ett alternativ till "--cone"-läge malldefinition för partiell kloning, som tillåter att, när man definierar den del av förvaret som är föremål för kloningsoperationen, lista enskilda filer med ".gitignore"-syntaxen, som inte tillåter användning för att optimera partiella index.

Av de andra förändringarna som sticker ut:

  • Förbättrad flexibilitet vid konfigurering av fsync()-anropet för att tömma ändringar på disk.
  • Lade till stöd för synkroniseringsstrategin "batch" till parametern "core.fsyncMethod", vilket påskyndar arbetet när du skriver ett stort antal separata filer genom att ackumulera ändringar i omskrivningscachen som töms av ett enda fsync()-anrop.
  • Traversal-kommandon som "git log" och "git rev-list" har nu alternativet "–since-as-filter=X" för att filtrera information om commits äldre än "X".
  • I kommandot "git remote", specificering av "-v"-flaggan ger information om partiella kloner av förvaret.
  • Lade till inställningen "transfer.credentialsInUrl", som kan ta värdena "warn", "die" och "allow". Om parametern "fjärr. .url" anger autentiseringsuppgifter i vanlig text, ett försök att utföra "get" eller "push"-operationer kommer att misslyckas om "transfer.credentialsInUrl"-inställningen är inställd på "die", eller en varning om inställd på "warn" .
  • Som standard används den nya interaktiva implementeringen av kommandot "git add -i", omskriven från Perl till C.

Slutligen om du är intresserad av att veta mer om detkan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.