Udgivelse af versionsstyringssystemet Git 2.46

Efter tre måneders udvikling er udgivelsen af det distribuerede versionsstyringssystem Git 2.46 offentliggjort. Git er et af de mest populære, pålidelige og højtydende versionsstyringssystemer, der tilbyder fleksible redskaber til ikke-lineær udvikling baseret på forgrening og sammensmeltning. For at sikre integriteten af historikken og modstandsdygtigheden overfor ændringer 'retroaktivt' anvendes implicit hash-ning af hele den tidligere historie i hver commit, og det er også muligt at bekræfte digitale signaturer fra udviklere for enkelte tags og commits. Git-koden distribueres under GPLv2+-licensen.

Sammenlignet med den tidligere udgivelse er der i den nye version vedtaget 746 ændringer, forberedt med deltagelse af 96 udviklere, hvoraf 31 deltager i udviklingen for første gang. Hovednyhederne:

  • Der er tilføjet eksperimentel support til en ny type bitmap — 'pseudo-merge reachability bitmap', hvor, i modsætning til strukturen 'reachability bitmap', data om objektsæt relateret til commits ikke opbevares bundet til hver enkelt commit, men tilknyttet flere commits samtidigt. Denne organisation gør det muligt at bruge en bitmap til at bestemme objekter for commits i forskellige grene, hvilket i store repositoryer betyder, at man kan undgå at skulle oprette et stort antal separate bitmaps og betydeligt fremskynde gennemgangen af objekter for at bestemme, hvilke objekter der skal sendes til klienten under operationer som 'git fetch', 'git rev-list' og 'git clone'. For at aktivere den nye bitmap-type og definere logikken for deres valg og anvendelse er en række indstillinger 'bitmapPseudoMerge' foreslået: git config bitmapPseudoMerge.all.pattern 'refs/(heads|tags)/' git config bitmapPseudoMerge.all.threshold now git config bitmapPseudoMerge.all.stableThreshold never git repack -adb
  • En ny kommandolinjegrænseflade er implementeret til kommandoen «git config», hvor i stedet for spredte muligheder for at vise, omdøbe og slette indstillinger og sektioner, som «—get», «—get-all», «—unset» og «—remove-section», foreslås et sæt separate subkommandoer. For eksempel kan man nu bruge kommandoen «git config list» for at vise alle indstillinger i et repository, og for at se indholdet af en bestemt parameter kan man bruge kommandoen «git config get ». For yderligere filtrering af resultaterne kan man bruge optionen «—regexp» til at angive et filter baseret på et regulært udtryk.
  • I protokollen «credential helper», der anvendes til at overføre legitimationsoplysninger ved adgang til repositories med begrænset adgang, er der tilføjet støtte til de nye felter «authtype» og «credential», der muliggør oprettelse af hjælpere til HTTP-godkendelsessystemer, der ikke blot begrænser sig til kontrol af brugernavn og adgangskode, som ved brug af Bearer Token i OAuth 2.0. Tidligere skulle man angive følsomme data i klar tekst i parameteren http.extraHeader for at arbejde med sådanne godkendelsessystemer. Derudover er der i protokollen tilføjet muligheden for at gemme tilstanden af hver credential helper for at understøtte flertrins-godkendelsesmetoder, der anvendes i protokoller som NTLM og Kerberos.
  • Udviklingen af den eksperimentelle backend «reftable» fortsætter for effektivt at gemme referencer til grene og tags i repositoryet. Denne backend bruger en bloklagring, der anvendes af JGit-projektet og er optimeret til at opbevare et meget stort antal referencer (traditionelle lagerformater til referencer medfører mærkbare omkostninger i repositories med mange referencer på grund af placeringen af et stort antal filer i én mappe, når referencerne gemmes i mappen $GIT_DIR/refs, eller behovet for at overskrive én stor fil ved hver opdatering, når referencerne gemmes i filen $GIT_DIR/packed_refs). I den nye version er kommandoen «git refs migrate —ref-format=reftable» tilføjet for at konvertere eksisterende repositories til backenden «reftable» (tidligere blev backenden kun aktiveret ved initialisering af repositoryet).
  • I Git-kommandoen er der tilføjet en mulighed "--no-advice", som deaktiverer alle beskeder med anbefalinger og hints. Dette kan være nyttigt for at forhindre, at loggen bliver fyldt med unødvendige oplysninger under automatiserede git-kald.
  • Processen med at oversætte nogle tjek fra testsættet til brug af unit-tests er begyndt, hvilket vil forenkle testningen af lavniveau-komponenter og øge effektiviteten af testprocessen på Windows-platformen, hvor der opstår store omkostninger ved at køre mange processer under udførelsen af tests implementeret som shell-scripts.
  • Der er tilføjet muligheden for at bruge repræsentationen "#RGB" i koden til analyse af farveindstillingerne ud over "#RRGGBB".

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