Ricerca nel sito web

Git 2.48 è uscito con SHA-1 più veloci, Meson sale sul palco


Lo strumento di controllo delle revisioni distribuito Git 2.48 offre supporto per il sistema di compilazione Meson, SHA-1 più veloci, test senza perdite di memoria e altro ancora.

Git, un sistema di controllo della versione distribuito e strumento fondamentale nello sviluppo di software che aiuta gli sviluppatori a gestire in modo efficiente le modifiche al loro codice in più progetti, ha appena rilasciato la sua nuova versione 2.48.

Uno dei risultati più importanti di questo aggiornamento riguarda l'accelerazione dei calcoli SHA-1 utilizzati esclusivamente per i checksum. Alla luce di ciò, i primi benchmark di GitHub indicano un miglioramento delle prestazioni del 10-13% per le operazioni di clonazione in tutti i repository.

Se vuoi dare un'occhiata a questa nuova funzionalità, prova a compilare Git con un'opzione in fase di compilazione come "make OPENSSL_SHA1_UNSAFE=1".

Gli sviluppatori che confrontano frequentemente sequenze di commit ribasate potrebbero già sapere quanto possa essere utile il comando range-diff di Git. Nel frattempo, --remerge-diff rende più facile ispezionare come sono stati risolti i conflitti di fusione.

Git 2.48 rappresenta la prima volta che queste due funzionalità si uniscono: ora, è possibile fornire --remerge-diff a range-diff e visualizzare le modifiche non solo all'interno dei commit lineari ma anche nei commit di merge regolati tramite --rebase-merges.

Inoltre, come utile effetto collaterale, è stato corretto un bug di vecchia data di --remerge-diff. Questa correzione consente a strumenti come git log --remerge-diff di funzionare in modo più affidabile anche quando si utilizzano opzioni che cambiano l'ordine di attraversamento del commit (ad esempio, --reverse).

E ora passiamo a qualcosa di molto interessante: per quasi due decenni, il processo di compilazione predefinito di Git è stato incentrato su GNU Make. Tuttavia, secondo gli sviluppatori, questo Makefile è cresciuto considerevolmente sia in termini di dimensioni che di complessità nel corso degli anni. Per affrontare questa sfida e mantenere Git amichevole per i nuovi contributori, Git 2.48 introduce Meson come sistema di compilazione alternativo.

Anche i cloni parziali, introdotti per aiutare gli utenti che lavorano su repository di grandi dimensioni, hanno ricevuto una buona dose di attenzione in questa versione. In particolare, gli sviluppatori hanno corretto un bug del ciclo infinito e perfezionato il modo in cui Git gestisce i riferimenti dei promettitori per evitare di interrompere accidentalmente i repository dopo un git gc.

Ultimo ma non meno importante, Git 2.48 consente un monitoraggio più affidabile del ramo predefinito del remoto. Se vi è mai capitato di clonare un repository e vi siete chiesti perché i recuperi successivi non aggiornassero il vostro locale "refs/remotes/origin/HEAD" in modo che corrisponda al ramo predefinito del telecomando, Git 2.48 ha alcune buone notizie.

D'ora in poi, Git aggiornerà questo riferimento simbolico se manca sul tuo lato locale ma è impostato sul telecomando. Inoltre, è possibile gestire ulteriormente questa funzionalità con la configurazione "remote.origin.followRemoteHead". Impostandolo su "avvisa" o "sempre" produrrà un avviso o si sincronizzerà automaticamente con il ramo predefinito del telecomando.

Per informazioni più dettagliate su tutte le modifiche e le novità in Git 2.48, visita il changelog completo.