Uitgave van het versiebeheersysteem Git 2.38

De release van het gedistribueerde versiebeheersysteem Git 2.38 is gepresenteerd. Git is een van de populairste, betrouwbare en hoogpresterende versiebeheersystemen, dat flexibele middelen voor niet-lineaire ontwikkeling biedt, gebaseerd op het afsplitsen en samenvoegen van branches. Om de integriteit van de geschiedenis te waarborgen en resistentie tegen 'backdating' te bieden, wordt impliciete hashing van de volledige voorgaande geschiedenis in elke commit gebruikt, terwijl digitale handtekeningen van ontwikkelaars voor afzonderlijke tags en commits ook mogelijk zijn.

In vergelijking met de vorige release zijn er 699 wijzigingen in de nieuwe versie opgenomen, voorbereid met de medewerking van 92 ontwikkelaars, van wie 24 voor het eerst deelnamen aan de ontwikkeling. De belangrijkste vernieuwingen zijn:

  • De hoofdcomponent bevat de tool 'scalar', ontwikkeld door Microsoft voor het beheren van grote repositories. De tool was oorspronkelijk geschreven in C#, maar in Git is er een herschreven versie in C opgenomen. De nieuwe tool verschilt van de git-commando's door standaard extra functies en instellingen op te nemen die de prestaties verbeteren bij het werken met zeer grote repositories. Bijvoorbeeld, bij het gebruik van scalar worden toegepast:
    • Deeltelijke kloning voor het werken met een onvolledige kopie van de repository.
    • Ingebouwd systeem voor het volgen van wijzigingen in het bestandssysteem (FSMonitor), waardoor het volledige werkdirectory kan worden overgeslagen.
    • Indexen die objecten in verschillende pack-bestanden dekken (multi-pack).
    • Commit-graph-bestanden met een index van de commit-graph, toegepast voor het optimaliseren van de toegang tot commit-informatie.
    • Achtergrondperiodieke taken om de optimale structuur van de repository op de achtergrond te onderhouden zonder de interactieve sessie te blokkeren (een keer per uur wordt een taak uitgevoerd voor de proactieve laadsels van nieuwe objecten uit de externe repository en wordt het commit-graph-bestand bijgewerkt, terwijl 's nachts een proces voor het verpakken van de repository wordt gestart).
    • De 'sparseCheckoutCone'-modus, die toegestane patronen beperkt bij de deeltelijke kloning.
  • Aan het 'git rebase'-commando is de optie '--update-refs' toegevoegd om afhankelijk branches te actualiseren die overlappen met verplaatste branches, zodat handmatig checkout-operaties naar elke afhankelijke branch niet nodig zijn om naar de gewenste commit te schakelen.
  • De compatibiliteit van het commando «git rm» met gedeeltelijke indexen is verzekerd.
  • Het gedrag van het commando «git mv A B» is verbeterd bij het verplaatsen van bestanden uit de werkdirectory met gedeeltelijke indexen in modo «cone» naar een externe directory waarop deze modus niet van toepassing is.
  • Er is optimalisatie doorgevoerd in het bitmap-bestandsformaat voor het werken met grote repositories — er is een optionele indextabel toegevoegd met een lijst van geselecteerde commits en hun offsets.
  • In het commando «git merge-tree» is een nieuwe modus geïmplementeerd waarin op basis van twee opgegeven commits een boom voor de samensmelting wordt berekend, alsof de geschiedenissen van deze commits samengevoegd waren.
  • De instelling «safe.barerepository» is toegevoegd om de mogelijkheid om bare repositories (repositories zonder werkdirectory) binnen andere git-repositories te beheren. Bij instelling op «explicit» is het alleen toegestaan om met bare repositories in de bovenste map te werken. Voor het toestaan van bare repositories in submappen moet de waarde «all» worden gebruikt.
  • De optie «-m» («—max-count») is toegevoegd aan het commando «git grep», gelijkwaardig aan de optie met dezelfde naam in GNU grep, waarmee het aantal weergegeven overeenkomsten kan worden beperkt.
  • In het commando «ls-files» is de optie «—format» geïmplementeerd voor het configureren van de weergegeven velden (bijvoorbeeld, het kan mogelijk zijn om de naam van het object, de modi, enz. weer te geven).
  • In «git cat-file» is een functie toegevoegd bij het tonen van de inhoud van objecten die rekening houdt met de auteur bindingen aan e-mail, zoals gespecificeerd in het mailmap-bestand.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster