Lansarea sistemului de control al versiunilor Git 2.53

A fost lansată versiunea sistemului distribuit de gestionare a codului sursă Git 2.53. Git se distinge prin performanța sa ridicată și oferă unelte pentru dezvoltarea non-liniară, bazându-se pe ramificarea și unirea ramurilor. Pentru a asigura integritatea istoriei și rezistența la modificările retroactive, se utilizează hashing-ul implicit al întregii istorii anterioare în fiecare commit, precum și certificarea prin semnături digitale a dezvoltatorilor pentru tag-uri și commit-uri individuale. Codul Git este distribuit sub licența GPLv2+.

Comparativ cu versiunea anterioară, noua versiune include 466 de modificări, pregătite cu participarea a 70 de dezvoltatori (21 dintre ei participând pentru prima dată la dezvoltarea Git). Cele mai importante noutăți:

  • A fost adăugată posibilitatea de a aplica strategia de ambalare a repository-urilor „geometric” („git repack --geometric”) la repository-urile externe parțial clonat, care funcționează în modul „promisor” (obiectele lipsă sunt descărcate la nevoie). La reambalare cu opțiunea „--geometric”, fișierele de tip pack cu extensia „.promisor” sunt procesate și ambalate separat. Strategia „geometric” permite reducerea timpului de mentenanță pentru monorepository-uri mari, prin reambalarea selectivă a obiectelor și excluderea operațiunilor consumatoare de resurse, cum ar fi unirea tuturor fișierelor pack (se menține progresia geometrică a dimensiunii fișierelor pack, fiecare fișier pack următor trebuie să fie de minimum două ori mai mare decât cel anterior).
  • În comanda „git fast-import” a fost adăugată opțiunea „--signed-commits=strip-if-invalid” pentru a elimina semnăturile digitale din obiectele importate, care au devenit invalide după rescrierea unei părți din istoria repository-ului. Anterior, se putea fie importa, fie elimina toate semnăturile, fără a distinge între cele valabile și cele care și-au pierdut sensul. Opțiunea „strip-if-invalid” permite implementarea de unelte pentru a păstra semnăturile valide și pentru a resemna obiecte cu semnături ce și-au pierdut relevanța.
  • Comanda „git repo structure” a fost actualizată cu informații despre dimensiunea tuturor obiectelor accesibile (reachable) din depozit, clasificate după tipurile lor. Informația este acum afișată într-un format ușor de citit, cu unități de măsură, și este prezentată separat pentru dimensiunile reale și cele ocupate pe disc, ceea ce permite evaluarea dimensiunii totale a depozitului pe disc. $ git repo structure | Structura depozitului | Valoare | | ——————— | ———- | | * Referințe | | | * Număr | 1.78 k | | * Ramuri | 5 | | * Etichete | 1.03 k | | * Remotes | 749 | | * Altele | 0 | | | | | * Obiecte accesibile | | | * Număr | 421.37 k | | * Commits | 88.03 k | | * Arbori | 169.95 k | | * Blobs | 162.40 k | | * Etichete | 994 | | * Dimensiune extinsă | 7.61 GiB | | * Commits | 60.95 MiB | | * Arbori | 2.44 GiB | | * Blobs | 5.11 GiB | | * Etichete | 731.73 KiB | | * Dimensiune pe disc | 301.50 MiB | | * Commits | 33.57 MiB | | * Arbori | 77.92 MiB | | * Blobs | 189.44 MiB | | * Etichete | 578.13 KiB |
  • Comenzii „git maintenance” i s-a adăugat subcomanda „is-needed” pentru a efectua operațiuni de întreținere a depozitului doar când este necesar.
  • În comanda experimentală „git replay”, actualizarea referințelor în tranzacție este implementată implicit, în loc să se arate unde ar trebui să indice referințele, fără actualizare.
  • Comenzii „git blame” i s-a adăugat posibilitatea de a alege algoritmul de evaluare a diferențelor prin opțiunea „—diff-algorithm=”.
  • Comenzii „git repo info” i s-a adăugat opțiunea „—all”.
  • Suportul pentru link-uri simbolice a fost transformat din Git-for-Windows pentru platforma Windows.

În versiunea trecută a fost adăugat un avertisment privind activarea implicită a compilării componentelor în Rust în Git 2.53. Totuși, în versiunea Git 2.53 au fost adăugate doar îmbunătățiri individuale pentru suportul Rust (posibilitatea compilării fără GNU sed), dar compilarea cu Rust folosind Makefile a fost lăsată dezactivată implicit (cere stabilirea flag-ului WITH_RUST), iar utilizarea Meson este activată automat în prezența compilatorului rustc. În versiunea Git 3.0, instrumentele Rust sunt planificate să fie incluse printre dependențele de compilare obligatorii.

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