Dopo due mesi di sviluppo, è stata pubblicata la versione 2.33 del sistema di controllo delle versioni distribuito Git. Git è uno dei sistemi di gestione delle versioni più popolari, affidabili e ad alte prestazioni, che offre strumenti flessibili per lo sviluppo non lineare basati su ramificazioni e fusioni di rami. Per garantire l'integrità della cronologia e la robustezza ai cambiamenti retroattivi, viene utilizzato un hashing implicito dell'intera cronologia precedente in ogni commit, ed è possibile anche la certificazione tramite firme digitali dei singoli tag e commit.
Rispetto alla versione precedente, nella nuova edizione sono state accettate 649 modifiche, preparate con la partecipazione di 74 sviluppatori, 19 dei quali hanno partecipato per la prima volta allo sviluppo. Le principali novità sono:
- Nella squadra di «git send-email» è stata aggiunta l'opzione «—sendmail-cmd» e la configurazione «sendemail.sendmailCmd», tramite le quali è possibile definire il comando per interagire con il server SMTP durante l'invio delle email.
- Per il comando «git rev-list» è stata implementata l'opzione «—no-commit-header», che, se specificata, non visualizza l'intestazione «commit », semplificando così l'uso dell'output negli script.

- Nel modello per userdiff è stato implementato il supporto per il token «record» per il linguaggio C#.
- Nel comando «git worktree add —lock» è stata implementata la possibilità di mostrare il motivo del blocco dell'albero di lavoro.
- Nell'output generato con l'opzione «git log —decorate», che oltre ai dati normali del log mostra anche i nomi dei rami ad essi collegati, è stata aggiunta la definizione e il caricamento solo dei dati richiesti, per evitare di eseguire lavoro superfluo.
- È stata aggiunta un'ottimizzazione che consente di accelerare l'esecuzione delle operazioni lato server scartando i commit già visionati per gli alberi.
- Il backend che gestisce il comando «diff -G/-S» è stato convertito per utilizzare il motore di espressioni regolari pcre2, quando disponibile.
- È stata ottimizzata la squadra «git send-email».
- È proseguito il lavoro sulla scrittura dell'implementazione di «git submodule» in C.
Fonte: opennet.ru

