Rilascio del sistema di controllo del codice sorgente distribuito Git 2.27

A disposizione rilascio di un sistema di controllo del codice sorgente distribuito Git 2.27.0. Git è uno dei sistemi di controllo delle versioni più popolari, affidabili e ad alte prestazioni, che fornisce strumenti di sviluppo flessibili e non lineari basati su branching e merging. Per garantire l’integrità della storia e la resistenza a modifiche retroattive, in ogni commit viene utilizzato l’hashing implicito di tutta la storia precedente; è inoltre possibile certificare i singoli tag e commit con firme digitali degli sviluppatori.

Rispetto alla versione precedente, la nuova versione comprende 537 modifiche, preparate con la partecipazione di 71 sviluppatori, di cui 19 hanno preso parte allo sviluppo per la prima volta. Di base innovazioni:

  • L'abilitazione predefinita implementata nella versione precedente è stata ripristinata seconda versione Protocollo di comunicazione Git, utilizzato quando un client si connette in remoto a un server Git. Il protocollo è considerato non ancora pronto per l'uso per impostazione predefinita a causa dell'identificazione di questioni sfuggenti che richiedono un'analisi separata.
  • Aggiunta una serie di opzioni per impostare una connessione SSL quando si accede tramite un proxy.
  • Le informazioni visualizzate quando si utilizzano i filtri di trasformazione "pulisci" e "sbavatura" sono state ampliate. Ad esempio, l'oggetto viene ora mostrato albero-ish, in cui appare il blob da convertire.
  • Per evitare confusione, il comando "git descrive" ora utilizza sempre la modalità di output estesa ("--long") se viene identificato un tag sostituito associato a un commit (in precedenza, veniva emesso un tag firmato o annotato che descriveva un commit anche se era rinominato o spostato nella gerarchia "refs/tags/" e il comando "git show tag^0" non ha funzionato come previsto - "refs/tags/tag" non è stato trovato o è stato restituito anche un tag diverso).
  • Quando si esegue "git pull", ora viene emesso un avviso a meno che la variabile di configurazione pull.rebase non sia impostata esplicitamente e le opzioni "--[no-]rebase" o "--ff-only" non siano utilizzate. Per sopprimere l'avviso per coloro che non intendono eseguire un'operazione di rebase, la variabile può essere impostata su false.
  • Le opzioni “git pull” comuni a “git fetch” sono state riviste. Opzioni simili non menzionate in precedenza sono documentate e le opzioni mancanti vengono passate a git fetch.
  • Aggiunta l'opzione "--no-gpg-sign" al comando "git rebase" per sovrascrivere l'impostazione "commit.gpgSign".
  • Aggiunta la possibilità a "git format-patch" di visualizzare le intestazioni "Da:" e "Oggetto:" invariate, senza convertire caratteri non ASCII.
  • L'opzione "-show-pulls" è stata aggiunta a "git log", consentendo di visualizzare non solo i commit in cui sono state apportate modifiche, ma anche il commit per unire queste modifiche da un ramo separato.
  • Gestione unificata dell'input interattivo in tutti i componenti e aggiunta una chiamata a fflush() dopo la visualizzazione del prompt di input ma prima dell'operazione di lettura.
  • "git rebase" consente di riapplicare tutti i commit locali senza prima eseguire un'operazione di "checkout", anche se alcuni di essi sono stati precedentemente upstreamati.
  • Il valore della variabile di configurazione "pack.useSparse" è stato modificato in "true" per abilitare ottimizzazioni precedentemente pubblicizzate come sperimentali per impostazione predefinita.
  • Aggiunta l'opzione "--autostash" a "git merge".
  • Interfaccia "sparse-checkout" migliorata.
  • Sono state aggiunte diverse nuove azioni a "git update-ref --stdin",
    consentendo il controllo diretto delle transazioni di aggiornamento dei collegamenti, ad esempio, per implementare aggiornamenti dei collegamenti atomici in due fasi su più repository.

  • Aggiunti modelli userdiff per i documenti Markdown.
  • Rimossa la restrizione per escludere tutti i percorsi nei modelli di pagamento sparse che risultano in un albero di lavoro vuoto.
  • L'operazione "git Restore --staged --worktree" ora utilizza per impostazione predefinita il contenuto del ramo "HEAD" invece di generare un errore.
  • Sono proseguiti i lavori sulla transizione all'algoritmo di hashing SHA-2 anziché SHA-1.
  • Il codice per interagire con GnuPG è stato rielaborato.

Fonte: opennet.ru

Aggiungi un commento