Release van gedistribueerd broncontrolesysteem Git 2.27

Beschikbaar release van een gedistribueerd broncontrolesysteem Git 2.27.0. Git is een van de meest populaire, betrouwbare en krachtige versiebeheersystemen en biedt flexibele, niet-lineaire ontwikkeltools op basis van vertakken en samenvoegen. Om de integriteit van de geschiedenis en weerstand tegen veranderingen met terugwerkende kracht te garanderen, wordt in elke commit impliciete hashing van de gehele voorgaande geschiedenis gebruikt; het is ook mogelijk om individuele tags en commits te certificeren met digitale handtekeningen van de ontwikkelaars.

Vergeleken met de vorige release bevatte de nieuwe versie 537 wijzigingen, voorbereid met de deelname van 71 ontwikkelaars, van wie er 19 voor het eerst aan de ontwikkeling deelnamen. Basis innovaties:

  • De standaardinschakeling die in de vorige release werd geïmplementeerd, is teruggedraaid tweede versie Git-communicatieprotocol, dat wordt gebruikt wanneer een client op afstand verbinding maakt met een Git-server. Het protocol wordt standaard als nog niet klaar voor gebruik beschouwd vanwege de identificatie van glibberige problemen die aparte aandacht vereisen.
  • Een reeks opties toegevoegd voor het opzetten van een SSL-verbinding bij toegang via een proxy.
  • De informatie die wordt weergegeven bij gebruik van de conversiefilters ‘clean’ en ‘smudge’ is uitgebreid. Het object wordt nu bijvoorbeeld weergegeven boomachtig, waarin de te converteren blob verschijnt.
  • Om verwarring te voorkomen gebruikt het "git write" commando nu altijd de uitgebreide uitvoermodus ("--long") als een vervangen tag geassocieerd met een commit wordt geïdentificeerd (voorheen werd een ondertekende of geannoteerde tag die een commit beschrijft uitgevoerd, zelfs als deze hernoemd of verplaatst in de hiërarchie “refs/tags/”, en het “git show tag^0” commando werkte niet zoals verwacht - “refs/tags/tag” werd niet gevonden of er werd zelfs een andere tag geretourneerd).
  • Bij het uitvoeren van "git pull", wordt er nu een waarschuwing gegeven tenzij de pull.rebase configuratievariabele expliciet is ingesteld en de "--[no-]rebase" of "--ff-only" opties niet worden gebruikt. Om de waarschuwing te onderdrukken voor degenen die niet van plan zijn een rebase-operatie uit te voeren, kan de variabele op false worden ingesteld.
  • De “git pull” opties die gebruikelijk zijn voor “git fetch” zijn beoordeeld. Eerder niet genoemde vergelijkbare opties zijn gedocumenteerd en ontbrekende opties worden doorgegeven aan git fetch.
  • "--no-gpg-sign" optie toegevoegd aan het "git rebase" commando om de "commit.gpgSign" instelling te overschrijven.
  • De mogelijkheid toegevoegd om "git format-patch" te gebruiken om de headers "From:" en "Subject:" ongewijzigd weer te geven, zonder niet-ASCII-tekens te converteren.
  • De “-show-pulls” optie is toegevoegd aan “git log”, waardoor je niet alleen de commits kunt bekijken waarin wijzigingen zijn aangebracht, maar ook de commit voor het samenvoegen van deze wijzigingen vanuit een aparte branch.
  • Uniforme interactieve invoerverwerking voor alle componenten en een aanroep toegevoegd aan fflush() nadat de invoerprompt wordt weergegeven, maar vóór de leesbewerking.
  • Met "git rebase" kun je alle lokale commits opnieuw toepassen zonder eerst een "checkout"-operatie uit te voeren, zelfs als sommige ervan eerder upstream waren.
  • De configuratievariabele 'pack.useSparse' is gewijzigd in 'true' om optimalisaties mogelijk te maken die voorheen standaard als experimenteel werden aangeprezen.
  • Optie "--autostash" toegevoegd aan "git merge".
  • Verbeterde interface voor 'sparse-checkout'.
  • Er zijn verschillende nieuwe acties toegevoegd aan "git update-ref --stdin",
    waardoor directe controle mogelijk is over linkupdatetransacties, bijvoorbeeld om atomaire linkupdates in twee fasen in meerdere repository's te implementeren.

  • Userdiff-sjablonen toegevoegd voor Markdown-documenten.
  • De beperking verwijderd om alle paden in sparse-checkout-sjablonen uit te sluiten die resulteren in een lege werkboom.
  • De "git Restore --staged --worktree" operatie gebruikt nu standaard de inhoud van de "HEAD" branch in plaats van een fout te genereren.
  • Er werd verder gewerkt aan de overgang naar het SHA-2-hashalgoritme in plaats van SHA-1.
  • De code voor interactie met GnuPG is herwerkt.

Bron: opennet.ru

Voeg een reactie