Liberazione di cuntrollu di fonte Git 2.38

A liberazione di u sistema di cuntrollu di fonte distribuitu Git 2.38 hè stata annunziata. Git hè unu di i sistemi di cuntrollu di versione più populari, affidabili è d'altu rendiment, chì furnisce strumenti di sviluppu flexible non lineari basati in ramificazione è fusione. Per assicurà l'integrità di a storia è a resistenza à i cambiamenti retroattivi, l'hashing implicitu di tutta a storia precedente hè aduprata in ogni impegnu; hè ancu pussibule di certificà e tag individuali è impegni cù signature digitale di i sviluppatori.

Comparatu à a versione precedente, a nova versione include 699 cambiamenti, preparati cù a participazione di sviluppatori 92, di i quali 24 hà participatu à u sviluppu per a prima volta. Innuvazioni principali:

  • A struttura principale include l'utilità "scalar", sviluppata da Microsoft per a gestione di grandi repositori. L'utilità hè stata scritta in origine in C#, ma git include una versione mudificata in C. A nova utilità difiere da u cumandamentu git per attivendu per predeterminate funzioni supplementari è paràmetri chì affettanu u rendiment quandu travagliate cù repositori assai grandi. Per esempiu, quandu si usa scalare, s'applica:
    • Clonazione parziale per travaglià cù una copia incompleta di u repository.
    • Meccanisimu integratu per seguità i cambiamenti in u sistema di fugliale (FSMonitor), chì vi permette di fà senza cercà in tuttu u cartulare di travagliu.
    • Indici chì coprenu l'uggetti in diversi schedarii di pacchetti (multi-pack).
    • commit-graph files cun un indice di commit graph utilizatu per ottimisà l'accessu à l'infurmazioni cummit.
    • U travagliu periodicu di fondo per mantene a struttura ottimale di u repository in u sfondate, senza bluccà a sessione interattiva (u travagliu hè fattu una volta à l'ora per scaricà in modu proattivu l'uggetti freschi da u repository remota è aghjurnà u schedariu cù u graficu di commit, è u prucessu di imballaggio). u repository hè cuminciatu ogni notte).
    • Modu "sparseCheckoutCone", chì limita i mudelli permessi durante a clonazione parziale.
  • Aggiunta una opzione --update-refs à u cumandamentu "git rebase" per aghjurnà e rami dipendenti chì si sovrapponenu cù e rami chì sò spustati, invece di avè da verificà manualmente ogni ramu dipendente per cambià à l'impegnu necessariu.
  • Fate u cumandamentu "git rm" cumpatibile cù indici parziali.
  • Migliuratu u cumpurtamentu di u cumandamentu "git mv A B" quandu si move un schedariu da un spaziu di travagliu cù indici parziali in modu "cone" à una regione esterna chì ùn hà micca stu modu.
  • U furmatu di u schedariu bitmap hè stata ottimizzata per travaglià cù grandi repositori - una tabella d'indici opzionale hè stata aghjunta cù una lista di commits selezziunati è i so offsets.
  • U cumandamentu "git merge-tree" implementa un novu modu in u quale, basatu annantu à dui cumposti specificati, un arbulu cù u risultatu di a fusione hè calculatu, cum'è s'è i stori di sti cummissioni sò stati uniti.
  • Aggiuntu "safe.barerepository" paràmetru per cuntrullà a capacità d'ospitu repositori nudi (repositori chì ùn cuntenenu micca un arbre di travagliu) in altri repositori git. Quandu si mette à "esplicito", serà pussibule di travaglià cù repositori nudi situati solu in u top directory. Per pudè mette i repositori nudi in subdirectorii, utilizate u valore "tuttu".
  • U cumandamentu "git grep" hà aghjustatu l'opzione "-m" ("-max-count"), chì hè simile à l'opzione di u stessu nome in GNU grep è permette di limità u numeru di partite affissate.
  • U cumandamentu "ls-files" implementa l'opzione "--format" per cunfigurà i campi di output (per esempiu, pudete attivà l'output di u nome di l'ughjettu, modi, etc.).
  • In "git cat-file", quandu mostra u cuntenutu di l'uggetti, hè pussibule di piglià in contu l'autori-e-mail bindings specificati in u schedariu mailmap.

Source: opennet.ru

Add a comment