Lansarea sistemului de gestionare a versiunilor Git 2.38

A fost lansată versiunea distribuită a sistemului de gestionare a versiunilor Git 2.38. Git este unul dintre cele mai populare, fiabile și performante sisteme de control al versiunilor, oferind instrumente flexibile de dezvoltare non-liniară bazate pe ramificare și îmbinare a ramurilor. Pentru a asigura integritatea istoricului și reziliența la modificările retroactive, se folosește hashing-ul implicit al întregii istorii anterioare în fiecare commit, fiind posibilă și certificarea digitală prin semnături ale dezvoltatorilor pentru anumite etichete și commituri.

Comparativ cu versiunea anterioară, noua versiune a înregistrat 699 de modificări, pregătite cu participarea a 92 de dezvoltatori, dintre care 24 au participat pentru prima dată la dezvoltare. Principalele noutăți sunt:

  • În pachetul principal a fost inclusă utilitarul „scalar”, dezvoltat de Microsoft pentru gestionarea repositoarelor mari. Utilitarul a fost inițial scris în C#, dar în Git a fost inclusă o variantă refăcută în limbajul C. Noua utilitară diferă de comanda git prin includerea în mod implicit a unor funcții și configurări suplimentare care afectează performanța la lucrul cu repositoare foarte mari. De exemplu, când se folosește scalar, se aplică:
    • Clonarea parțială pentru a lucra cu o copie incompletă a repositoarului.
    • Mecanismul încorporat de monitorizare a modificărilor în sistemul de fișiere (FSMonitor), care permite evitarea parcurgerii întregului director de lucru.
    • Indici care acoperă obiectele în diferite fișiere pack (multi-pack).
    • Fișierele commit-graph cu indexul grafic al commit-urilor, utilizate pentru optimizarea accesului la informațiile despre commituri.
    • Lucrări periodice de fundal pentru menținerea unei structuri optime a repositoarului în fundal, fără a bloca sesiunea interactivă (o dată la oră se realizează o sarcină de preîncărcare a obiectelor recente din repositoarele externe și actualizarea fișierului cu graficul commit-urilor, iar în fiecare noapte se lansează un proces de ambalare a repositoarului).
    • Modul „sparseCheckoutCone”, care limitează modelele permise în timpul clonării parțiale.
  • În comanda „git rebase” a fost adăugată opțiunea „—update-refs” pentru a actualiza ramurile dependente care se intersectează cu ramurile mutate, astfel încât să nu mai fie necesară efectuarea manuală a operațiunilor checkout pentru fiecare ramură dependentă pentru a comuta pe commitul dorit.
  • A fost asigurată compatibilitatea comenzii „git rm” cu indecșii parțiali.
  • Comportamentul comenzii „git mv A B” a fost îmbunătățit pentru a muta fișiere din zona de lucru cu indecși parțiali în modul „cone” în zona externă, pentru care acest mod nu se aplică.
  • A fost optimizat formatul fișierelor bitmap pentru a lucra cu repozitorii mari — a fost adăugată o tabelă opțională de index cu lista commiturilor selectate și offseturile acestora.
  • În comanda „git merge-tree” a fost implementat un nou mod în care, pe baza celor două commituri specificate, se calculează un arbore cu rezultatul fuziunii, așa cum ar fi dacă istoriile acestor commituri ar fi fost combinate.
  • A fost adăugată setarea „safe.barerepository” pentru a gestiona posibilitatea de a găzdui repozitorii bare (repozitorii care nu conțin un arbore de lucru) în cadrul altor repozitorii git. Când este setată la „explicit”, se va permite lucrul cu repozitorii bare găzduiți doar în directorul de bază. Pentru a permite găzduirea repozitoriilor bare în subdirectoare, ar trebui utilizată valoarea „all”.
  • În comanda „git grep” a fost adăugată opțiunea „-m” („—max-count”), similară cu opțiunea omonimă din GNU grep, care permite limitarea numărului de corespondențe afișate.
  • În comanda „ls-files” a fost implementată opțiunea „—format” pentru a personaliza câmpurile afișate (de exemplu, se poate include afișarea numelui obiectului, modurilor etc.).
  • În „git cat-file”, la afișarea conținutului obiectelor, a fost implementată posibilitatea de a lua în considerare legăturile autorilor la email, specificate în fișierul mailmap.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster