Uscita del sistema di gestione dei codici sorgente Git 2.38

È stata presentata l’uscita del sistema distribuito di gestione dei codici sorgente Git 2.38. Git è uno dei sistemi di versioning più popolari, affidabili e ad alte prestazioni, che offre strumenti flessibili per lo sviluppo non lineare, basati su branching e merging. Per garantire l'integrità della storia e la resistenza alle modifiche retroattive, viene utilizzato un hashing implicito dell'intera storia precedente in ciascun commit, ed è anche possibile la verifica tramite firme digitali da parte degli sviluppatori per singoli tag e commit.

Rispetto alla versione precedente, nella nuova versione sono stati introdotti 699 cambiamenti, preparati con il contributo di 92 sviluppatori, dei quali 24 hanno partecipato per la prima volta allo sviluppo. Principali novità:

  • Il pacchetto principale include l'utilità «scalar», sviluppata da Microsoft per la gestione di grandi repository. Sebbene l'utilità sia stata originariamente scritta in C#, una versione riscritta in C è inclusa in git. La nuova utilità si distingue dal comando git per l'inclusione di impostazioni e funzionalità aggiuntive che migliorano le prestazioni quando si lavora con repository molto grandi. Ad esempio, utilizzando scalar si applica:
    • Clonazione parziale per lavorare con una copia incompleta del repository.
    • Meccanismo integrato di monitoraggio delle modifiche nel file system (FSMonitor) che consente di evitare la scansione dell'intero catalogo di lavoro.
    • Indici che coprono oggetti in diversi file pack (multi-pack).
    • File commit-graph con indice del grafo dei commit, utilizzato per ottimizzare l'accesso alle informazioni sui commit.
    • Lavori di manutenzione periodica in background per mantenere la struttura ottimale del repository, senza bloccare la sessione interattiva (ogni ora viene eseguito un lavoro per il preload proattivo di nuovi oggetti dal repository remoto e l'aggiornamento del file con il grafo dei commit, mentre ogni notte viene avviato un processo di imballaggio del repository).
    • Modalità «sparseCheckoutCone», che limita i modelli consentiti durante la clonazione parziale.
  • Aggiunta l'opzione «—update-refs» al comando «git rebase» per aggiornare i branch dipendenti che si sovrappongono ai branch spostati, evitando di dover eseguire manualmente il checkout su ciascun branch dipendente per passare al commit richiesto.
  • Assicurata la compatibilità del comando «git rm» con indici parziali.
  • Migliorato il comportamento del comando «git mv A B» durante lo spostamento di un file dalla cartella di lavoro con indici parziali in un'area esterna a cui non si applica tale modalità.
  • Ottimizzato il formato dei file bitmap per lavorare con grandi repository – aggiunta una tabella indice opzionale con l'elenco dei commit selezionati e delle loro offset.
  • Nel comando «git merge-tree» è stata implementata una nuova modalità in cui, basandosi su due commit specificati, viene calcolato un albero con il risultato della fusione come se le storie di questi commit fossero state unite.
  • È stata aggiunta l'impostazione «safe.barerepository» per gestire la possibilità di posizionare repository bare (repository senza albero di lavoro) all'interno di altri repository git. Impostandola su «explicit», sarà consentito lavorare con repository bare che si trovano solo nella directory principale. Per consentire il posizionamento di repository bare nelle sottodirectory, è necessario utilizzare il valore «all».
  • Nel comando «git grep» è stata aggiunta l'opzione «-m» («—max-count»), simile all'opzione omonima di GNU grep, che consente di limitare il numero di corrispondenze restituite.
  • Nel comando «ls-files» è stata implementata l'opzione «—format» per configurare i campi di output (ad esempio, è possibile includere il nome dell'oggetto, i permessi, ecc.).
  • In «git cat-file», durante la visualizzazione del contenuto degli oggetti, è stata implementata la possibilità di considerare i legami degli autori con le email definite nel file mailmap.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster