Git 2.48: rilascio ufficiale con SHA-1 più rapidi

Il tool di controllo delle revisioni distribuito Git 2.48 offre anche supporto iniziale per Meson, test senza perdite di memoria e non solo.
Git 2.48: rilascio ufficiale con SHA-1 più rapidi

Git, un sistema di controllo versione distribuito e strumento fondamentale nello sviluppo software che aiuta gli sviluppatori a gestire in modo efficiente le modifiche al codice in più progetti, ha appena rilasciato la nuova versione Git 2.48. Uno dei miglioramenti più significativi di questo aggiornamento riguarda l’accelerazione dei calcoli SHA-1, utilizzati esclusivamente per i checksum. Secondo i primi test condotti da GitHub, si è registrato un miglioramento delle prestazioni del 10–13% nelle operazioni di clonazione su tutti i repository. Chi volesse testare questa nuova funzionalità, può provare a compilare Git con un’opzione di build-time come “make OPENSSL_SHA1_UNSAFE=1“.

Gli sviluppatori che confrontano spesso sequenze di commit riorganizzate tramite rebase probabilmente conoscono già l’utilità del comando range-diff di Git. Allo stesso tempo, l’opzione –remerge-diff semplifica l’analisi di come sono stati risolti i conflitti di merge. Con Git 2.48, queste due funzionalità si uniscono per la prima volta. Ora è possibile utilizzare –remerge-diff con range-diff per visualizzare le modifiche nei commit lineari, ma anche nei commit di merge modificati tramite –rebase-merges. Inoltre, come effetto collaterale utile, è stato corretto un bug di lunga data legato a –remerge-diff. Questa correzione consente strumenti come git log –remerge-diff di funzionare in modo più affidabile, anche quando si utilizzano opzioni che modificano l’ordine di attraversamento dei commit (ad esempio, –reverse).

 Git 2.48: bug risolti e altre novità introdotte

Una delle più grandi novità di Git 2.48 è l’introduzione di Meson come sistema di compilazione alternativo. Anche i clone parziali—introdotti per aiutare gli utenti a gestire repository di grandi dimensioni—hanno ricevuto miglioramenti significativi in questa release. In particolare, gli sviluppatori hanno risolto un bug che causava un loop infinito e ottimizzato la gestione dei riferimenti promisor da parte di Git. Ciò evita di compromettere accidentalmente i repository dopo un git gc. Infine, Git 2.48 consente un tracciamento più affidabile del ramo predefinito del remoto.

Chiunque abbia mai clonato un repository e si sia chiesto perché i fetch successivi non aggiornassero il riferimento locale “refs/remotes/origin/HEAD” per allinearlo al branch predefinito del remoto, troverà la soluzione in Git 2.48. Da ora in poi, Git aggiornerà questo riferimento simbolico se manca nella copia locale ma è presente nel repository remoto. Inoltre, è possibile gestire ulteriormente questa funzionalità tramite la configurazione “remote.origin.followRemoteHead”. Impostandola su “warn” o “always”, si riceverà un avviso o si sincronizzerà automaticamente con il branch predefinito del remoto. Per informazioni più dettagliate su tutte le modifiche e le novità in Git 2.48, è possibile consultare il changelog completo pubblicato sul sito ufficiale di GitHub.

Ti consigliamo anche

Link copiato negli appunti