Sistemul de gestionare a codului sursă Git 2.43 este disponibil

După trei luni de dezvoltare, a fost publicată versiunea 2.43 a sistemului distribuit de gestionare a codului sursă Git. Git este unul dintre cele mai populare, fiabile și performante sisteme de control al versiunilor, oferind instrumente flexibile pentru dezvoltarea neliniară, bazate pe ramificare și unire a ramurilor. Pentru a asigura integritatea istoricului și rezistența la modificări retroactive, se utilizează hashingul implicit al întregului istoric anterior în fiecare commit, fiind posibilă, de asemenea, autentificarea prin semnături digitale a tag-urilor și commit-urilor individuale ale dezvoltatorilor.

Comparativ cu versiunea anterioară, noua versiune a primit 464 de modificări, pregătite cu ajutorul a 80 de dezvoltatori, dintre care 17 au participat pentru prima dată la dezvoltare. Principalelor noutăți:

  • Comanda „git repack” a fost extinsă cu opțiunile „—filter” și „—filter-to”, care permit reprocesarea repozitorului având în vedere un filtru specificat pentru obiecte și, dacă este necesar, mutarea obiectelor care nu îndeplinesc filtrul într-o altă locație. Aceste opțiuni pot fi utilizate pentru a separa repozitorul conform unor criterii specifice (de exemplu, pentru a elimina obiectele inutile sau prea mari), menținând în același timp accesul la toate părțile prin clonarea parțială. De exemplu, pentru a păstra în repozitor un blob de dimensiune mai mică de 1 MB și a muta celelalte obiecte mari într-un repozitoriu separat, se pot executa: $ git init —bare ..\/backup.git $ git repack -ad —filter='blob:limit=1m' \ —filter-to=..\/backup.git\/objects\/pack\/pack

    Inițializarea unui repozitoriu prin clonare parțială permite lucrul cu o copie incompletă a repozitorului, gestionând corect accesările la obiectele lipsă (când se accesează obiecte lipsă, acestea vor fi descărcate pe parcurs, pe măsură ce este necesar).

  • A fost adăugată posibilitatea de a lucra cu mai multe fișiere pack care conțin informații despre obiectele inaccesibile („cruft packs”), pentru care nu există linkuri în repository (nu sunt referite de ramuri sau etichete). Prin noua opțiune „git repack —max-cruft-size” se poate stabili dimensiunea maximă a unui fișier pack și se poate obține împărțirea bazei de obiecte inaccesibile într-o serie de fișiere pack de dimensiuni mici. Utilizarea mai multor fișiere pack mici în locul unuia mare reduce semnificativ operațiile de intrare/ieșire la reambalarea repository-urilor cu un număr mare de obiecte inaccesibile, deoarece pentru fiecare operație de reambalare nu va fi necesară rescrierea tuturor datelor.
  • A fost adăugată recunoașterea încercărilor de a efectua o anulare dublă a unui commit prin „git revert” și luarea acestui fapt în considerare la formarea mesajului de anulare (la reanularea „git revert” se va scrie „Reaplicare fix bug” în loc de „Revert: Revert: fix bug”, iar dacă se anulă modificarea a treia oară, va fi „Revert Reaplicare fix bug”). $ git revert —no-edit HEAD > /dev/null $ git revert —no-edit HEAD > /dev/null $ git log —oneline a300922 (HEAD -> main) Reaplicare „fix bug” 0050730 Revert „fix bug” b290810 fix bug
  • Este permisă utilizarea simultană a opțiunilor „—rfc” și „—subject-prefix”. De exemplu, pentru a forma un e-mail cu prefixul „[RFC PATCH bpf-next]” în subiectul mesajului, se poate specifica: $ git format-patch —subject-prefix=„PATCH bpf-next” —rfc
  • În comanda „git log” este permisă specificarea substitutivului „%(decorate)” pentru a arăta numele ramurilor asociate atunci când se determină formatul folosind opțiunea „—format”, de exemplu: $ git log —format=’%cr%(decorate) (%h) %s’ acum 3 zile (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: corecții minore de redactare în notele de lansare 2.43.0 acum 7 zile (tag: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1 acum 7 zile (8ed4eb7538) Fuziune ramură „tb/rev-list-unpacked-fix”
  • În „git for-each-ref” și comenzi similare a fost adăugată posibilitatea de a aplica reguli .mailmap specificatorilor de format specificați prin opțiunea „—format”, precum „%(authorname)” și „%(committeremail)”.

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