Versionshanteringssystemet Git 2.43 är nu tillgängligt.

Efter tre månaders utveckling har version 2.43 av det distribuerade systemet för hantering av källkod Git publicerats. Git är ett av de mest populära, pålitliga och högpresterande versionshanteringssystemen, som erbjuder flexibla alternativ för icke-linjär utveckling baserat på förgrening och sammanslagning av grenar. För att säkerställa integriteten i historiken och motståndskraften mot retroaktiva ändringar används implicit hashning av hela tidigare historia i varje commit, och det är också möjligt att verifiera digitala signaturer av utvecklare för vissa taggar och commits.

Jämfört med den föregående versionen har den nya versionen 464 ändringar, framtagna av 80 utvecklare, varav 17 debuterade i utvecklingsarbetet. De viktigaste nyheterna:

  • Till kommandot „git repack“ har alternativen „—filter“ och „—filter-to“ lagts till, vilket möjliggör att repacka ett repository med hänsyn till ett angivet objektsfilter, och om så önskas flytta objekt som inte uppfyller det angivna filtret till en separat plats. Alternativen kan användas för att dela ett repository enligt specifika kriterier (t.ex. för att ta bort onödiga eller för stora objekt), samtidigt som åtkomsten till alla delar bibehålls genom partiell kloning. Till exempel, för att behålla blobbar som är mindre än 1 MB i repositoryt och flytta de övriga stora objekten till ett separat repository kan man utföra: $ git init —bare ../backup.git $ git repack -ad —filter='blob:limit=1m' \ —filter-to=../backup.git/objects/pack/pack

    Initiering av ett repository genom partiell kloning möjliggör arbete med en ofullständig kopia av repositoryt, vilket korrekt hanterar anrop till saknade objekt (vid anrop till saknade objekt kommer dessa att laddas ner automatisk vid behov).

  • Möjligheten att arbeta med flera pack-filer med information om oåtkomliga objekt ("cruft packs"), som det inte finns några länkar till i репозitoriet (inga grenar eller taggar refererar till dem), har lagts till. Med den nya optionen "git repack —max-cruft-size" kan man bestämma den maximala storleken på en enskild pack-fil och åstadkomma uppdelningen av databasen för oåtkomliga objekt i en serie pack-filer av mindre storlek. Användningen av flera små pack-filer istället för en stor minskar betydligt in- och utmatningsoperationer vid ompackning av репозиторier med ett stort antal oåtkomliga objekt, eftersom det inte behövs skriva om all data för varje ompackningsoperation.
  • Det har lagts till en igenkänning av försök att göra en dubbel återställning av en commit via "git revert" och att detta beaktas vid bildandet av meddelandet om återställning (vid en andra "git revert" skrivs istället för "Revert: Revert: fix bug" "Reapply fix bug", och om ändringen återställs tredje gången blir det "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
  • Det är nu tillåtet att använda optionerna "—rfc" och "—subject-prefix" tillsammans. Till exempel, för att skapa ett meddelande med prefixet "[RFC PATCH bpf-next]" i ämnesraden kan man ange: $ git format-patch —subject-prefix="PATCH bpf-next" —rfc
  • I kommandot "git log" är det nu möjligt att ange en platshållare "%(decorate)" för att visa namnen på relaterade grenar vid bestämning av formatet med optionen "—format", till exempel: $ git log —format='%cr%(decorate) (%h) %s' 3 days ago (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: minor wording fixes in 2.43.0 release notes 7 days ago (tag: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1 7 days ago (8ed4eb7538) Merge branch 'tb/rev-list-unpacked-fix'
  • I "git for-each-ref" och liknande kommandon har en möjlighet att tillämpa .mailmap-regler på specifikatorer för format som anges med optionen "—format", såsom „%(authorname)" och „%(committeremail)" lagts till.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster