La nuova versione di Git 2.46 arriva dopo tre mesi di sviluppo e in questa nuova versione sono stati incorporati numerosi miglioramenti e nuove funzionalità significative, come il supporto sperimentale per un nuovo tipo di bitmap, miglioramenti al backend sperimentale “reftable”, nuova interfaccia a riga di comando per il comando “git config”, tra le altre cose.
Questa nuova versione di Git 2.46 include correzioni di bug da oltre 96 contributori, 31 dei quali nuovi e come tali, la nuova versione contiene 746 modifiche.
Principali novità in Git 2.46
Il supporto sperimentale per La “bitmap di accessibilità alla pseudofusione” è uno degli sviluppi più importanti di questa versione e questo nuovo tipo di bitmape diverso dalla struttura tradizionale "bitmap di accessibilità" memorizzando dati su insiemi di oggetti relativi al commit non per ogni singolo commit, ma per diversi commit contemporaneamente.
In quanto tale, questa bitmap di accessibilità pseudomerge consente di utilizzare una singola bitmap per definire oggetti in commit di diversi rami, con conseguente miglioramento significativo delle prestazioni, soprattutto su repository di grandi dimensioni. Ciò accelera operazioni come git fetch, git rev-list e git clone riducendo la necessità di generare più bitmap separate.
Git 2.46 introduce inoltre diversi importanti miglioramenti alla sua interfaccia a riga di comando e nella gestione delle credenziali e dell'archiviazione dei dati. L'interfaccia della riga di comando per il comando git config è stata riprogettata, sostituendo opzioni disparate come –get, –get-all, –unset e –remove-section con una serie di sottocomandi più intuitivi. Ad esempio, per visualizzare tutte le configurazioni del repository, ora puoi utilizzare il comando “elenco di configurazione git«, e per visualizzare il contenuto di un parametro specifico, ora puoi utilizzare il comando «git config ottieni ». Per filtrare ulteriormente i risultati, puoi utilizzare l'opzione “–regexp” per specificare un filtro basato su un'espressione regolare.
Oltre a ciò, nel protocollo «credential helper" ha aggiunto il supporto per i nuovi campi "authtype" e "credential"., consentendo di creare gestori per sistemi di autenticazione HTTP che fanno molto di più che verificare semplicemente nome utente e password, ad esempio quando si utilizza Bearer Token in OAuth 2.0. E in precedenza, Per lavorare con tali sistemi di autenticazione, era necessario specificare i dati riservati in testo non crittografato nel parametro http.extraHeader. Oltretutto, Il protocollo aggiunge la possibilità di rendere persistente lo stato di ciascun controller di credenziali per supportare i metodi di autenticazione a più fattori utilizzati in protocolli come NTLM e Kerberos.
Inoltre, è stato migliorato lo sviluppo del backend sperimentale “reftable”. per l'archiviazione efficiente dei collegamenti a rami e tag nel repository. La nuova versione aggiunge il comando “git refs migrate –ref-format=reftable” per migrare i repository esistenti sul backend “reftable” (in precedenza, il backend era abilitato solo quando il repository veniva inizializzato).
Anche, In Git 2.46 è iniziato il processo di conversione di alcuni test dalla test suite, all’uso degli unit test. Ciò ha lo scopo di semplificare il test dei componenti di basso livello e di aumentare l'efficienza del processo di test sulla piattaforma Windows, che genera grandi costi generali quando si eseguono numerosi processi su una piattaforma di grandi dimensioni durante l'esecuzione dei test implementati in uno degli script di shell .
Del altri cambiamenti che risaltano di questa nuova versione:
- Aggiunta l'opzione “–no-advice” al comando git, che disabilita tutti i messaggi di avviso e suggerimento, che può essere utile per evitare che il log venga intasato con informazioni non necessarie durante una chiamata push git.
- Aggiunta la possibilità di utilizzare la rappresentazione "#RGB" oltre alla rappresentazione "#RRGGBB" nel codice per analizzare le impostazioni del colore.
- Quando git merge vede che l'indice non può essere aggiornato (ad esempio, a causa di
a un altro processo che fa la stessa cosa in background) - Viene introdotta una macro CPP USE_THE_REPOSITORY_VARIABLE per facilitare la transizione della codebase in modo che sia meno dipendente dalla disponibilità dell'istanza singleton the_repository.
- "git version –build-options" riporta le informazioni sulla versione di
- OpenSSL e altre librerie (se utilizzate) nel build.
- Risolte perdite di memoria in "git mv"
- Supporto aggiornato per il completamento della riga di comando per zsh (in contrib/)
per interrompere l'esposizione dello stato interno all'interazione della shell dell'utente finale
Infine se sei interessato a saperne di più, puoi controllare i dettagli nel file seguente link