Git 2.37 on jo julkaistu ja nämä ovat sen uutisia

XNUMX käynnistäminen uuden version Git 2.37, joka on yksi suosituimmat versionhallintajärjestelmät, luotettava ja suorituskykyinen ohjelmisto, joka tarjoaa joustavia epälineaarisia kehitystyökaluja, jotka perustuvat haarukoihin ja haarukoiden yhdistämiseen.

Historian eheyden ja muutosten kestävyyden varmistamiseksi käytetään "taaksepäin" implisiittistä tiivistettä koko aikaisemmasta historiasta jokaisessa sitoumuksessa, on myös mahdollista tarkistaa yksittäisten tagien ja sitoumuskehittäjien digitaaliset allekirjoitukset.

Git 2.37 Tärkeimmät uudet ominaisuudet

Edelliseen versioon verrattuna 395 muutosta hyväksyttiin uudessa versiossa, valmistukseen osallistui 75 kehittäjää, joista 20 osallistui kehitykseen ensimmäistä kertaa.

Tässä uudessa versiossa korostetaan sitä osittaisten indeksien mekanismi (harva indeksi), joka kattaa vain osan arkistosta, se on valmisteltu laajaan käyttöön. Osittaiset indeksit voivat parantaa suorituskykyä ja säästää tilaa arkistoissa, jotka suorittavat osittaisia ​​kloonaustoimintoja (harva kassa) tai käyttävät arkiston epätäydellistä kopiota.

Uusi versio täydentää työn osittaisten indeksien integrointi komentoihin "git show", "git sparse-checkout" ja "git stash". Huomattavin suorituskyvyn hyöty osittaisten indeksien käytöstä on "git stash" -komennolla, joka on joissakin tilanteissa jopa 80 % nopeampi.

Toinen erottuva muutos on se uusi "cruft packs" -mekanismi on otettu käyttöön pakkaamaan tavoittamattomia objekteja, joihin ei viitata arkistossa (ei viitata haaroilla tai tunnisteilla). Roskankerääjä poistaa tavoittamattomat kohteet, mutta ne pysyvät arkistossa tietyn ajan ennen poistamista kilpailuolosuhteiden välttämiseksi. Saavutamattomien kohteiden ajanjakson seuraamiseksi tarvitaan sidonta, niihin on merkitty samankaltaisten objektien vaihtoaika, mikä ei salli niiden tallentamista nipputiedostoon, jossa kaikilla objekteilla on yhteinen muokkausaika.

Kun jokainen aiemmin käytetty objekti erilliseen tiedostoon tallennettiin, tiedosto aiheutti ongelmia, kun oli olemassa suuri määrä uusia tavoittamattomia kohteita, ei vielä. Ehdotettu "cruft packs" -mekanismi mahdollistaa kaikkien tavoittamattomien kohteiden tallentamisen nipputiedostoon, ja tiedot kunkin kohteen muokkausajasta näkyvät erillisessä taulukossa, joka on tallennettu tiedostoon, jonka tunniste on ".mtimes".

Windowsille ja macOS:lle on sisäänrakennettu mekanismi pitääksesi kirjaa tiedostojärjestelmän muutoksista, jotka poistaa tarpeen luetteloida koko työhakemisto kun suoritat toimintoja, kuten "git status". Aiemmin voit seurata muutoksia koukkujen kautta liittämällä ulkoiset tiedostojärjestelmän muutosten seurantatyökalut, kuten Watchmanin, mutta tämä vaati lisäohjelmien ja -kokoonpanojen asentamista. Tämä toiminto on nyt sisäänrakennettu ja voidaan ottaa käyttöön komennolla "git config core.fsmonitor true".

Komento "git sparse-checkout" on lakannut tukemasta vaihtoehtoa "--cone"-tilalle mallimäärittely osittaista kloonausta varten, joka mahdollistaa yksittäisten tiedostojen luetteloimisen ".gitignore"-syntaksilla määritettäessä arkiston kloonauksen kohteena olevaa osaa, mikä ei salli käyttöä osittaisten indeksien optimointiin.

Muista muutoksista jotka erottuvat:

  • Parannettu joustavuus fsync()-kutsun määrittämisessä, jotta muutokset huuhdellaan levylle.
  • Lisätty tuki "batch"-synkronointistrategialle "core.fsyncMethod"-parametrille, joka nopeuttaa työtä kirjoitettaessa suuria määriä erillisiä tiedostoja keräämällä muutoksia uudelleenkirjoitusvälimuistiin, joka on tyhjennetty yhdellä fsync()-kutsulla.
  • Traversal-komennoissa, kuten "git log" ja "git rev-list", on nyt "–since-as-filter=X" -vaihtoehto suodattaaksesi tietoja X:tä vanhemmista toimituksista.
  • "git remote" -komennossa "-v"-lipun määrittäminen antaa tietoa arkiston osittaisista klooneista.
  • Lisätty "transfer.credentialsInUrl"-asetus, joka voi ottaa arvot "warn", "die" ja "allow". Jos parametri "remote. .url" määrittää valtuustiedot pelkkänä tekstinä, "get"- tai "push"-toimintojen suorittamisyritys epäonnistuu, jos "transfer.credentialsInUrl"-asetukseksi on asetettu "die" tai varoitus, jos asetuksena on "varoita" .
  • Oletuksena käytetään uutta "git add -i" -komennon interaktiivista toteutusta, joka on kirjoitettu Perlistä C:ksi.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.