Lanseringen av den distribuerade kÀllkodshanteringssystemet Git 2.53 har Àgt rum. Git kÀnnetecknas av hög prestanda och tillhandahÄller verktyg för icke-linjÀr utveckling, baserat pÄ grening och sammanslagning av grenar. För att sÀkerstÀlla integritet i historiken och motstÄndskraft mot bakÄtÀndringar anvÀnds implicit hashning av hela den tidigare historiken i varje commit, samt verifiering med digitala signaturer av utvecklarna av specifika taggar och commits. Git-koden distribueras under GPLv2+-licensen.
JÀmfört med föregÄende version har 466 Àndringar införlivats i den nya versionen, som förberetts av 70 utvecklare (21 deltog i utvecklingen av Git för första gÄngen). De viktigaste nyheterna:
- Möjligheten att anvÀnda strategin för "geometric" paketering av repositoryn ("git repack --geometric") för delvis klonade externa repositoryn, som arbetar i "promisor"-lÀge (saknade objekt laddas ner vid behov), har lagts till. Vid ompaketering med alternativen "--geometric" behandlas och packas packfiler med filÀndelsen ".promisor" separat. Strategin "geometric" gör det möjligt att minska driftstiden för stora monorepositories genom selektiv ompaketering av objekt och uteslutning av onödiga resurskrÀvande operationer, sÄsom att slÄ samman alla packfiler (den geometriska progressionen av packfilernas storlek bibehÄlls, dÀr varje efterföljande packfil mÄste vara minst dubbelt sÄ stor som den föregÄende).
- Till kommandot "git fast-import" har alternativet "--signed-commits=strip-if-invalid" lagts till för att ta bort digitala signaturer frÄn importerade objekt som blivit ogiltiga efter att en del av repositoryns historia har skrivits om. Tidigare kunde man antingen importera eller ta bort alla signaturer, utan att sÀrskilja mellan giltiga och ogiltiga. Alternativet "strip-if-invalid" gör det möjligt att implementera verktyg för att bevara giltiga signaturer och Ätersignera objekt med ogiltiga signaturer.
- I utskriften av kommandokommandoen «git repo structure» er det lagt til informasjon om stĂžrrelsen pĂ„ alle tilgjengelige objekter (reachable) i depotet, delt etter typer. Informasjonen vises nĂ„ i et lesevennlig format med mĂ„leenheter og vises separat for faktisk stĂžrrelse og stĂžrrelse pĂ„ disk, noe som gjĂžr det mulig Ă„ vurdere den totale stĂžrrelsen pĂ„ depotet pĂ„ disken. $ git repo structure | Repository structure | Value | | âââââââ | âââ- | | * Referanser | | | * Antall | 1,78 k | | * Grener | 5 | | * Tags | 1,03 k | | * Remotes | 749 | | * Andre | 0 | | | | | * Tilgjengelige objekter | | | * Antall | 421,37 k | | * Commits | 88,03 k | | * TrĂŠr | 169,95 k | | * Blobs | 162,40 k | | * Tags | 994 | | * Utvidet stĂžrrelse | 7,61 GiB | | * Commits | 60,95 MiB | | * TrĂŠr | 2,44 GiB | | * Blobs | 5,11 GiB | | * Tags | 731,73 KiB | | * Diskplass | 301,50 MiB | | * Commits | 33,57 MiB | | * TrĂŠr | 77,92 MiB | | * Blobs | 189,44 MiB | | * Tags | 578,13 KiB |
- Det er lagt til en undermeny «is-needed» i kommandoen «git maintenance» for Ä utfÞre vedlikeholdsoperasjoner pÄ depotet bare nÄr det er nÞdvendig.
- I den eksperimentelle kommandoen «git replay» er det implementert oppdatering av referanser i transaksjonen som standard, i stedet for Ä vise hvor referansene bÞr peke uten oppdatering.
- Det er lagt til muligheten for Ă„ velge algoritme for vurdering av forskjeller i kommandoen «git blame» med alternativet «âdiff-algorithm=».
- Det er lagt til alternativet «âall» i kommandoen «git repo info».
- StĂžtten for symboliske lenker for Windows-plattformen er overfĂžrt fra Git-for-Windows.
I det forrige utgivelsene ble det lagt til et varsel om at komponentene pÄ Rust-sprÄket aktiveres som standard i Git 2.53. Imidlertid har versjonen Git 2.53 faktisk kun fÄtt enkelte forbedringer for Rust-stÞtte (muligheten for Ä bygge uten GNU sed), men bygningen med Rust ved bruk av Makefile forblir som standard deaktivert (krever Ä sette flagget WITH_RUST), mens det ved bruk av Meson automatisk aktiveres i nÊrvÊr av kompilatoren rustc. I versjon Git 3.0 planlegges Rust-verktÞyet inkludert som en obligatorisk byggeavhengighet.
KĂ€lla: opennet.ru
