Git 2.43, et system til styring af kildekode, er nu tilgængeligt

Efter tre måneders udvikling er den nye version af det distribuerede system til styring af kildekoder Git 2.43 blevet offentliggjort. Git er et af de mest populære, pålidelige og højtydende versionsstyringssystemer, der tilbyder fleksible metoder til ikke-lineær udvikling, baseret på forgrening og sammenlægning af grene. For at sikre, at historien er intakt, og at der ikke kan foretages ændringer »bagud« i tiden, anvendes implicit hashning af hele den tidligere historie i hver commit. Det er også muligt at bekræfte digitale signaturer fra udviklere for individuelle tags og commits.

Sammenlignet med den tidligere version er der i den nye version accepteret 464 ændringer, forberedt med deltagelse af 80 udviklere, hvoraf 17 deltager i udviklingen for første gang. De vigtigste nyheder er:

  • Der er tilføjet mulighederne «—filter» og «—filter-to» til kommandoen «git repack», som gør det muligt at ompakke et repository under hensyntagen til et angivet objektfilter og, om nødvendigt, flytte objekter, der ikke opfylder det angivne filter, til et separat sted. Mulighederne kan bruges til at opdele repository'et i henhold til bestemte kriterier (fx til at fjerne unødvendige eller for store objekter), mens adgangen til alle dele opretholdes via delvis kloning. For eksempel kan man for at bevare blobs mindre end 1 MB i repository'et og flytte de andre store objekter til et separat repository gøre følgende: $ git init —bare ../backup.git $ git repack -ad —filter='blob:limit=1m' \ —filter-to=../backup.git/objects/pack/pack

    Initiering af et repository ved hjælp af partial cloning giver mulighed for at arbejde med en ufuldstændig kopi af repository'et, der håndterer anmodninger om manglende objekter korrekt (når der anmodes om manglende objekter, vil de automatisk blive hentet efter behov).

  • Muligheden for at arbejde med flere pack-filer indeholdende information om utilgængelige objekter ("cruft packs"), som der ikke er henvisninger til i depotet (hverken fra grene eller tags), er blevet tilføjet. Med den nye mulighed "git repack —max-cruft-size" kan den maksimale størrelse af en enkelt pack-fil bestemmes, hvilket muliggør opdeling af basen af utilgængelige objekter i en række små pack-filer. Brug af flere små pack-filer i stedet for en stor kan betydeligt reducere ind-/uddata-operationer ved repackering af depoter med mange utilgængelige objekter, da ikke alle data skal skrives om for hver repackering.
  • Erkendelse af forsøg på at udføre dobbelt annullering af et commit via "git revert" er blevet tilføjet, og dette tages i betragtning ved formuleringen af annulleringsmeldinger (ved gentagen "git revert" vil der i stedet for "Revert: Revert: fix bug" blive skrevet "Reapply fix bug", og hvis ændringen rulles tilbage en tredje gang — "Revert Reapply fix bug"). $ git revert —no-edit HEAD >/dev/null $ git revert —no-edit HEAD >/dev/null $ git log —oneline a300922 (HEAD -> main) Reapply "fix bug" 0050730 Revert "fix bug" b290810 fix bug
  • Muligheden for samtidig at bruge indstillingerne "—rfc" og "—subject-prefix" er blevet tilladt. For eksempel kan man for at generere et brev med præfikset "[RFC PATCH bpf-next]" i emnet angive: $ git format-patch —subject-prefix="PATCH bpf-next" —rfc
  • I "git log"-kommandoen er det blevet tilladt at angive pladsholderen "%(decorate)" for at vise navnene på tilknyttede grene, når man definerer formatet ved hjælp af indstillingen "—format", for eksempel: $ git log —format='%cr%(decorate) (%h) %s' 3 dage siden (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: mindre ordlydsændringer i 2.43.0-udgivelsesnoter 7 dage siden (tag: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1 7 dage siden (8ed4eb7538) Slå gren 'tb/rev-list-unpacked-fix' sammen
  • I "git for-each-ref" og lignende kommandoer er muligheden for at anvende .mailmap-regler til formateringsspecifikatorer, som f.eks. "%(authorname)" og "%(committeremail)", givet via indstillingen "—format".

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster