2. februar ble presentert utslett av det distribuerte versjonskontrollsystemet Git 2.53.
Git har hÞy ytelse og gir verktÞy for ikke-linjÊr utvikling basert pÄ grener og sammenslÄing av grener. For Ä opprettholde integriteten til historien og motstandsdyktighet mot 'backdating', brukes implisitt hashing av hele tidligere historikk i hver commit, samt verifisering med digitale signaturer fra utviklerne av individuelle merkelapper og commits. Git-koden distribueres under GPLv2+-lisens.
Sammenlignet med forrige utgave er 466 endringer innarbeidet i den nye versjonen, forberedt av 70 utviklere (21 deltok for fĂžrste gang i utviklingen av Git). Hovedtrekkene nyheter:
- Lagt til muligheten til Ä bruke strategien for pakking av repositorier geometric (git repack --geometric) pÄ delvis klonede eksterne repositorier som kjÞrer i promisor-modus (manglende objekter lastes ned ved behov). Ved repackaging med alternativene --geometric behandles og pakkes pack-filer med utvidelsen .promisor separat. Geometric-strategien reduserer vedlikeholdstiden for store monorepositorier ved Ä muliggjÞre selektiv repackaging av objekter og fjerne unÞdvendige ressurskrevende operasjoner, som Ä smelte sammen alle pack-filer (den geometriske progresjonen av stÞrrelsen pÄ pack-filer opprettholdes, hvor hver neste pack-fil mÄ vÊre minst dobbelt sÄ stor som den forrige).
- Det er lagt til et alternativ i git fast-import-k commandet --signed-commits=strip-if-invalid for Ă„ fjerne digitale signaturer fra importerte objekter som har blitt ugyldige etter omskrivning av deler av historien til repositoriet. Tidligere kunne man enten importere eller slette alle signaturer uten Ă„ skille mellom gyldige og ugyldige. Alternativet strip-if-invalid gjĂžr det mulig Ă„ implementere verktĂžy for Ă„ bevare gyldige signaturer og omskriving av objekter med ugyldige signaturer.
- I utdataene fra kommandoen git repo structure er det lagt til informasjon om stÞrrelsen pÄ alle tilgjengelige objekter (reachable) i repositoriet, delt etter type. Informasjonen vises nÄ pÄ en lesbar mÄte med mÄleenheter og vises separat for faktisk og plassert stÞrrelse pÄ disk, noe som gjÞr det mulig Ä vurdere den totale stÞrrelsen pÄ repositoriet pÄ disken:
$ git repo structure | Repository structure | Value | | âââââââ | âââ- | | * References | | | * Count | 1.78 k | | * Branches | 5 | | * Tags | 1.03 k | | * Remotes | 749 | | * Others | 0 | | | | | * Reachable objects | | | * Count | 421.37 k | | * Commits | 88.03 k | | * Trees | 169.95 k | | * Blobs | 162.40 k | | * Tags | 994 | | * Inflated size | 7.61 GiB | | * Commits | 60.95 MiB | | * Trees | 2.44 GiB | | * Blobs | 5.11 GiB | | * Tags | 731.73 KiB | | * Disk size | 301.50 MiB | | * Commits | 33.57 MiB | | * Trees | 77.92 MiB | | * Blobs | 189.44 MiB | | * Tags | 578.13 KiB |
- Den nye git maintenance-kommandoen har fÄtt en underkommando is-needed for Ä utfÞre vedlikeholdsoperasjoner pÄ et repository bare nÄr det er nÞdvendig.
- I det eksperimentelle git replay-laget implementeres som standard oppdatering av referanser i transaksjonen, i stedet for Ă„ vise hvor referansene skal peke uten oppdatering.
- Den nye git blame-kommandoen har fĂ„tt muligheten til Ă„ velge algoritme for differansevurdering ved hjelp av opsjonen âdiff-algorithm=.
- Den nye git repo info-kommandoen har fĂ„tt opsjonen âall.
- StĂžtten for symbolske lenker for Windows er overfĂžrt fra Git-for-Windows.
Den forrige utgaven inkluderte advarsel om at bygging av Rust-komponenter i Git 2.53 nÄ er aktivert som standard. Faktisk inneholdt Git 2.53 bare er det lagt til noen forbedringer av Rust-stÞtten (mulighet for Ä bygge uten GNU sed), men byggingen med Rust for Makefile ble deaktivert som standard (krav om Ä sette flagget WITH_RUST), mens Meson automatisk aktiveres nÄr kompilatoren rustc er tilgjengelig. I Git 3.0 planlegger de Ä inkludere Rust-verktÞyet som en obligatorisk avhengighet for bygging.
Kilde: linux.org.ru
