Git 2.53

2 februari is gepresenteerd lancering van het gedistribueerde bronbeheersysteem Git 2.53.

Git staat bekend om zijn hoge prestaties en biedt middelen voor niet-lineaire ontwikkeling die zijn gebaseerd op het vertakken en samenvoegen van takken. Om de integriteit van de geschiedenis te waarborgen en bestand te zijn tegen "backdating", wordt impliciete hashing van de gehele voorgaande geschiedenis in elke commit gebruikt, evenals de verificatie door digitale handtekeningen van ontwikkelaars voor specifieke tags en commits. Git-code. wordt verspreid is gelicentieerd onder GPLv2+.

In vergelijking met de vorige release zijn er 466 wijzigingen in de nieuwe versie opgenomen, gemaakt door 70 ontwikkelaars (21 van hen hebben voor het eerst bijgedragen aan de ontwikkeling van Git). Belangrijkste. vernieuwingen:

  • Toegevoegd de mogelijkheid om de geometrische pakketsstrategie toe te passen op gedeeltelijk gekloonde externe repositories die in de promisor-modus werken (ontbrekende objecten worden indien nodig geladen). Bij het opnieuw verpakken met de opties -geometric worden pack-bestanden met de extensie .promisor afzonderlijk behandeld en verpakt. De geometrische strategie maakt het mogelijk om de onderhoudstijd van grote monorepositories te verkorten door selectieve opnieuw verpakken van objecten en het vermijden van zware bewerkingen zoals het samenvoegen van alle pack-bestanden (de geometrische progressie van de grootte van pack-bestanden wordt behouden, waarbij iedere volgende pack-bestand minimaal twee keer zo groot moet zijn als het vorige).
  • De git fast-import-tool heeft de optie --signed-commits=strip-if-invalid toegevoegd om digitale handtekeningen van geïmporteerde objecten te verwijderen die ongeldig zijn geworden na het herschrijven van een deel van de geschiedenis van de repository. Tot nu toe kon men ofwel importeren of alle handtekeningen verwijderen, zonder ze te scheiden in geldige en ongeldig geworden. De strip-if-invalid optie maakt het mogelijk om tools te implementeren voor het behouden van geldige handtekeningen en het opnieuw ondertekenen van objecten met niet-werkende handtekeningen.
  • Aan de uitvoer van het commando git repo structure is informatie toegevoegd over de grootte van alle bereikbare objecten (reachable) in de repository, onderverdeeld naar hun types. De informatie wordt nu op een leesbare manier weergegeven met eenheden van meting en afzonderlijk getoond voor de werkelijke en de op de schijf gebruikte grootte, waardoor het totale formaat van de repository op de schijf kan worden ingeschat:

$ git repo structuur | Repository structuur | Waarde | | ——————— | ———- | | * Referenties | | | * Aantal | 1,78 k | | * Takken | 5 | | * Tags | 1,03 k | | * Remotes | 749 | | * Overig | 0 | | | | | * Bereikbare objecten | | | * Aantal | 421,37 k | | * Commits | 88,03 k | | * Bomen | 169,95 k | | * Blobs | 162,40 k | | * Tags | 994 | | * Uitgebreide grootte | 7,61 GiB | | * Commits | 60,95 MiB | | * Bomen | 2,44 GiB | | * Blobs | 5,11 GiB | | * Tags | 731,73 KiB | | * Schijfgrootte | 301,50 MiB | | * Commits | 33,57 MiB | | * Bomen | 77,92 MiB | | * Blobs | 189,44 MiB | | * Tags | 578,13 KiB |

  • De git maintenance-commando heeft de subopdracht is-needed toegevoegd voor het uitvoeren van onderhoudsoperaties op de repository alleen wanneer dat nodig is.
  • In de experimentele git replay-commando is standaard het bijwerken van verwijzingen in transacties geïmplementeerd, in plaats van te tonen waar verwijzingen naartoe moeten wijzen zonder bij te werken.
  • De git blame-commando heeft de mogelijkheid toegevoegd om het algoritme voor het schatten van verschillen te kiezen met behulp van de optie —diff-algorithm=.
  • De git repo info-commando heeft de optie —all toegevoegd.
  • Ondersteuning voor symbolische koppelingen is overgebracht van Git-for-Windows naar het Windows-platform.

In de vorige release is toegevoegd waarschuwing dat standaard de componentassemblage in de programmeertaal Rust in Git 2.53 is ingeschakeld. In feite heeft versie Git 2.53 echter uitsluitend zijn toegevoegd enkele verbeteringen in de ondersteuning voor Rust (de mogelijkheid om te bouwen zonder GNU sed), maar de assemblage met Rust bij gebruik van Makefile blijft is standaard uitgeschakeld (vergt het instellen van de vlag WITH_RUST), en bij gebruik van Meson automatisch geactiveerd bij het aanwezig zijn van de rustc-compiler. In Git versie 3.0 worden Rust-gereedschappen van plan zijn in de lijst met verplichtte build-afhankelijkheden opgenomen.

Bron: linux.org.ru

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