Udgivelsen af kildekodehåndteringssystemet Git 2.38

Introduceret er udgivelsen af den distribuerede system til administration af kildekoder Git 2.38. 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 sammenlægning af grene. For at sikre integriteten af historikken og modstandsdygtighed over for "bagudgående ændringer" anvendes implicit hashing af hele den tidligere historie i hver commit, og det er også muligt at bekræfte digitale signaturer fra udviklere af individuelle tags og commits.

Sammenlignet med den tidligere udgave er der i den nye version vedtaget 699 ændringer, forberedt med deltagelse af 92 udviklere, hvoraf 24 deltager for første gang i udviklingen. De vigtigste nyheder:

  • Utilities "scalar" er inkluderet i hovedpakken, udviklet af Microsoft til styring af store repositories. Værktøjet var oprindeligt skrevet i C#, men en omarbejdet version i C er inkluderet i Git. Det nye værktøj adskiller sig fra Git-kommandoen ved som standard at inkludere ekstra funktioner og indstillinger, der påvirker ydeevnen ved arbejde med meget store repositories. For eksempel, når der anvendes scalar, anvendes:
    • Delvis kloning for at arbejde med en ufuldstændig kopi af repository.
    • En indbygget mekanisme til overvågning af ændringer i filsystemet (FSMonitor), der gør det muligt at undgå at gennemgå hele arbejdsbiblioteket.
    • Indekser, der dækker objekter i forskellige pack-filer (multi-pack).
    • Commit graph-filer med indekser til commit-grafen, der anvendes til at optimere adgangen til oplysninger om commits.
    • Baggrundsperiodiske opgaver til opretholdelse af den optimale struktur af repository i baggrunden, uden at blokere den interaktive session (en gang i timen udføres opgaver til proaktivt at hente friske objekter fra det fjerne repository og opdatere commit-graffilen, mens der hver nat startes en proces til pakning af repository).
    • SparsommeligCheckoutCone-tilstand, der begrænser tilladte skabeloner ved delvis kloning.
  • Kommandoen 'git rebase' har fået tilføjet muligheden '--update-refs' til opdatering af afhængige grene, der krydser de flyttede grene, så man ikke manuelt behøver at udføre checkout-operationer til hver afhængig gren for at skifte til den ønskede commit.
  • Kommanden „git rm“ er blevet kompatibel med delvise indekser.
  • Adfærden for kommandoen „git mv A B“ er forbedret, når en fil flyttes fra arbejdsområdet med delvise indekser i „cone“-tilstand til et eksternt område, hvor denne tilstand ikke gælder.
  • Bitmap-filformatet er blevet optimeret til brug med store repositoryer — en valgfri indeks-tabel er blevet tilføjet med en liste over valgte commits og deres offsets.
  • I kommandoen „git merge-tree“ er en ny tilstand implementeret, hvor der på baggrund af to angivne commits beregnes et træ med resultatet af sammensmeltningen, som om historien for disse commits var blevet kombineret.
  • Indstillingen „safe.barerepository“ er tilføjet for at styre muligheden for at placere bare repositories (repositories uden arbejdsmappe) inden i andre git repositories. Ved at indstille denne til „explicit“ tillades arbejde med bare repositories, der kun er placeret i roden af mappen. For at muliggøre placering af bare repositories i underkataloger skal værdien „all“ bruges.
  • I kommandoen „git grep“ er der tilføjet en valgmulighed „-m“ („—max-count“), svarende til den samme mulighed i GNU grep, som gør det muligt at begrænse antallet af viste match.
  • I kommandoen „ls-files“ er der implementeret en valgmulighed „—format“ til at tilpasse de viste felter (for eksempel kan output af objektnavne, tilstande osv. inkluderes).
  • I „git cat-file“ er der implementeret mulighed for at tage hensyn til forfatterens tilknytninger til e-mail, som angivet i mailmap-filen, når indholdet af objekter vises.

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