Git 2.53

2 febbraio presentato rilascio del sistema di controllo distribuito delle versioni Git 2.53.

Git si distingue per l'alta prestazione e offre strumenti per lo sviluppo non lineare, basati su diramazioni e fusioni di rami. Per garantire l'integrità della storia e la resistenza alle modifiche retroattive, si utilizza l'hashing implicito dell'intera storia precedente in ogni commit, nonché la verifica tramite firme digitali degli sviluppatori su singoli tag e commit. Codice Git è distribuito con licenza GPLv2+.

Rispetto al rilascio precedente, la nuova versione comprende 466 modifiche realizzate con la partecipazione di 70 sviluppatori (21 partecipano per la prima volta allo sviluppo di Git). Principali novità:

  • È stata aggiunta la possibilità di applicare la strategia di imballaggio dei repository geometrici (git repack --geometric) a repository esterni parzialmente clonati, in esecuzione in modalità promisor (gli oggetti mancanti vengono scaricati all'occorrenza). Durante la reutilizzazione con l'opzione --geometric, i file di pacchetti con estensione .promisor vengono elaborati e imballati separatamente. La strategia geometrica consente di ridurre il tempo di manutenzione di grandi monorepository, attraverso una riutilizzazione selettiva degli oggetti e l'esclusione di operazioni che richiedono molte risorse, come la fusione di tutti i file di pacchetti (mantenendo una progressione geometrica delle dimensioni dei file di pacchetti, dove ogni file successivo deve essere almeno il doppio del file precedente).
  • Nel comando git fast-import è stata aggiunta l'opzione --signed-commits=strip-if-invalid per rimuovere le firme digitali da oggetti importati che sono diventati non validi dopo la riscrittura di parte della storia del repository. In precedenza, era possibile solo importare o rimuovere tutte le firme, senza distinzione tra quelle valide e quelle non più significative. L'opzione strip-if-invalid consente di implementare strumenti per mantenere le firme valide e ri-firmare gli oggetti con firme non più attuali.
  • Nell'output del comando git repo structure è stata aggiunta l'informazione sulla dimensione di tutti gli oggetti raggiungibili (reachable) nel repository con una suddivisione per tipo. Le informazioni vengono ora visualizzate in modo leggibile con le unità di misura e viene mostrata separatamente la dimensione effettiva e quella occupata su disco, consentendo di valutare la dimensione complessiva del repository su disco:

$ git repo structure | Struttura del repository | Valore | | ——————— | ———- | | * Riferimenti | | | * Conteggio | 1.78 k | | * Rami | 5 | | * Tag | 1.03 k | | * Remoti | 749 | | * Altro | 0 | | | | | * Oggetti raggiungibili | | | * Conteggio | 421.37 k | | * Commit | 88.03 k | | * Alberi | 169.95 k | | * Blob | 162.40 k | | * Tag | 994 | | * Dimensione compressa | 7.61 GiB | | * Commit | 60.95 MiB | | * Alberi | 2.44 GiB | | * Blob | 5.11 GiB | | * Tag | 731.73 KiB | | * Dimensione su disco | 301.50 MiB | | * Commit | 33.57 MiB | | * Alberi | 77.92 MiB | | * Blob | 189.44 MiB | | * Tag | 578.13 KiB |

  • È stato aggiunto il sottocomando is-needed al comando git maintenance per eseguire operazioni di manutenzione del repository solo se necessario.
  • Nel comando sperimentale git replay, l'aggiornamento dei riferimenti nella transazione è abilitato per impostazione predefinita, invece di mostrare dove dovrebbero puntare i riferimenti senza aggiornarli.
  • È stata aggiunta la possibilità di scegliere l'algoritmo di valutazione delle differenze al comando git blame utilizzando l'opzione —diff-algorithm=.
  • È stata aggiunta l'opzione —all al comando git repo info.
  • È stato trasferito il supporto per i link simbolici da Git-for-Windows per la piattaforma Windows.

Nella precedente versione è stato aggiunto un avviso in merito all'inclusione predefinita della compilazione dei componenti in Rust in Git 2.53. Tuttavia, in realtà, nella versione Git 2.53 ci sono solo aggiunti alcuni miglioramenti del supporto per Rust (possibilità di compilazione senza GNU sed), ma la compilazione con Rust utilizzando Makefile è rimasta disabilitata per impostazione predefinita (richiede l'impostazione del flag WITH_RUST), e quando si utilizza Meson è automaticamente attivata in presenza del compilatore rustc. Nella versione Git 3.0 il toolkit Rust è previsto di essere incluso tra le dipendenze di compilazione obbligatorie.

Fonte: linux.org.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster