Ricerca nel sito web

Rilasciato Git 2.53 con nuovi controlli di manutenzione e percorsi di differenza più veloci


Git 2.53 introduce il comando di manutenzione “is-needed”, amplia gli strumenti per i repository e include miglioramenti delle prestazioni in diff, pacchetti e internals del database degli oggetti.

Oltre due mesi dopo il precedente rilascio 2.52, Git, un sistema di controllo versione distribuito e pietra miliare dello sviluppo software, che aiuta gli sviluppatori a gestire efficacemente le modifiche al loro codice tra i progetti, ha appena rilasciato la versione 2.53.

Una delle aggiunte più visibili è un nuovo sottocomando git maintenance is-needed. Permette agli utenti e agli strumenti di determinare se sono effettivamente necessarie operazioni di manutenzione, come il repacking o l'ottimizzazione dei riferimenti, aiutando a evitare lavori in background inutili su repository che sono già in buone condizioni.

Inoltre, il comando sperimentale git replay ora aggiorna i riferimenti da solo usando una singola transazione per impostazione predefinita, invece di emettere aggiornamenti dei riferimenti che un altro comando deve applicare. La versione 2.53 migliora anche i messaggi di errore, la documentazione e la copertura dei test, in particolare per quanto riguarda la gestione delle revisioni e gli argomenti non validi.

Anche diversi comandi quotidiani ricevono miglioramenti incrementali. git blame ora supporta la selezione di un algoritmo di diff, offrendo agli utenti un maggiore controllo su come le modifiche vengono attribuite tra le revisioni.

Sia git apply che git diff introducono una nuova classe di errori di spazi bianchi per le righe incomplete, rendendo questi problemi più visibili e gestiti in modo coerente attraverso gli strumenti. Anche i comandi di ispezione del repository sono stati ampliati, con nuove opzioni per git repo info e output più dettagliati da git repo structure, inclusi ulteriori dettagli sul database degli oggetti.

Sotto il cofano, una quantità significativa di lavoro è rivolta alle prestazioni e alla struttura interna. Le operazioni di diff beneficiano di ottimizzazioni come la disabilitazione del rilevamento di rinomini e copie quando si esegue git diff --quiet, dove conta solo la presenza di modifiche.

Inoltre, l'uso della memoria è stato ridotto nei percorsi di rilevamento delle copie più costosi e continuano gli sforzi di refactoring attorno al database degli oggetti, alla gestione dei packfile e alle API di streaming.

Infine, Git 2.53 migliora il supporto ai collegamenti simbolici upstream su Windows, accompagnato dalla preparazione della suite di test e da numerose correzioni nel layer di compatibilità MinGW. Su macOS, Git ora aggira problemi di lunga data nell'implementazione di iconv fornita dal sistema invece di sostituirla completamente.

Come al solito, la release si conclude con un lungo elenco di correzioni che riguardano crash, output non allineato con percorsi non ASCII, casi limite di merge, errori di configurazione e errori nella documentazione. Per maggiori dettagli su tutte le modifiche in Git 2.53, si rimanda all'annuncio della release.