VĂ€lja jaotatud lĂ€htekoodihalduse sĂŒsteemi Git 2.26

Saadaval jaotatud tekstihalduse sĂŒsteemi vĂ€ljaanne Git 2.26.0. Git on ĂŒks populaarsemaid, usaldusvÀÀrsemaid ja kĂ”rge jĂ”udlusega versioonihaldussĂŒsteeme, mis pakub paindlikke vahendeid mittelineaarseks arendamiseks, mis pĂ”hinevad harude haldamisel ja ĂŒhendamisel. Ajaloo terviklikkuse ja tagasivĂ”tmise muutuste suhtes tagatakse mitteilmne rĂ€simine kogu eelneva ajaloo igas commitis, samuti on vĂ”imalik eraldi sildite ja commitite digitaalsete allkirjadega kinnitamine.

Uue versiooniga on tehtud 504 muudatust, mille on teinud 64 arendajat, kellest 12 osales arenduses esmakordselt. Peamised uuendused:

  • Olenud kaua ootamas, oleme nĂŒĂŒd ĂŒleminekuga vaikimisi teise versiooni Git-i suhtlusprotokolli, mis on vajalik kliendi kaugĂŒhenduseks Git-serveriga. Protokolli teise versiooni uusus seisneb serveripoolel harude ja siltide filtreerimise vĂ”imaluses, millega kliendile edastatakse lĂŒhendatud linkide nimekiri. Varem edastati igasuguste tĂ”mmiste kĂ€ivitamisel klientidele alati tĂ€iskogumik kĂ”igist linkidest, isegi kui klient uuendas vaid ĂŒhte haru vĂ”i kontrollis oma kohalikku repositooriumi. Teine suur uuendus on uute funktsioonide vĂ”imaldamine protokollis, kui uued funktsioonid muutuvad kergesti kĂ€ttesaadavaks. Kliendi kood jÀÀb vanade protokollide jaoks ĂŒhilduvaks ja töötab nii uute kui ka vanade serveritega, automaatselt naastes esimese versiooni juurde, kui server ei toeta teist.
  • KĂ€sku «git config» on lisatud valik «—show-scope», mis lihtsustab nende seade mÀÀramise kohta teabe leidmist. Git vĂ”imaldab seadistusi mÀÀrata erinevates kohtades: repositooriumi sees (.git/info/config), kasutaja kataloogis (~/.gitconfig), ĂŒldsĂŒsteemi konfiguratsioonifailis (/etc/gitconfig), samuti kĂ€surea valikute ja keskkonnamuutujate kaudu. «git config» kĂ€ivitamine on keeruline selle mÀÀratlemise konteksti teadmiseks. Varem oli saadaval valik «—show-origin», mis lihtsalt nĂ€itas faili tee, kus seade mÀÀratletud, mis on kasulik faili redigeerimise ajal, kuid ei aita, kui soovitakse vÀÀrtust muuta kĂ€suga «git config» koos valikutega «—system», «—global» vĂ”i «—local». Uus valik «—show-scope» kuvab muutujate mÀÀratlemise konteksti ja seda saab kasutada koos —show-origin:

    $ git —list —show-scope —show-origin
    global file:/home/user/.gitconfig diff.interhunkcontext=1
    global file:/home/user/.gitconfig push.default=current
    [
]
    local file:.git/config branch.master.remote=origin
    local file:.git/config branch.master.merge=refs/heads/master

    $ git config —show-scope —get-regexp ‘diff.*’
    global diff.statgraphwidth 35
    local diff.colormoved plain

    $ git config —global —unset diff.statgraphwidth

  • Siduvate seadistuste Ă”igused URL maskide kasutamine on lubatud. HTTP seadistusi ja Git'i autentimist vĂ”ib seadistada nii kĂ”igile ĂŒhendustele (http.extraHeader, credential.helper) kui ka URL-i kinnitatud ĂŒhendustele (credential.https://example.com.helper, credential.https://example.com.helper). Aikani on maskide, nagu *.example.com, kasutamine olnud lubatud ainult HTTP seadistuste jaoks, kuid pole toetatud autentimiskinnituste sidumisel. Git 2.26 on need erinevused kĂ”rvaldatud ja nĂ€iteks saab kasutajanime siduda nĂŒĂŒd kĂ”igile alamdomeenidele:

    [credential «https://*.example.com»]

    username = ttaylorr

  • Eksperimenteerimise toe jĂ€tkamine osaliste kloonide (partial clones) osas, mis vĂ”imaldab kanda edasi vaid osa andmeid ja töötada puuduliku repositooriumi koopiaga. Uues versioonis on lisatud uus kĂ€sk „git sparse-checkout add“, mis vĂ”imaldab lisada ĂŒksikuid kaustu „checkout“ toimingu rakendamiseks vaid osa tööpuust, selle asemel et loetleda kĂ”ik sellised kaustad korraga kĂ€su „git sparse-checkout set“ kaudu (saab lisada kaustasid ĂŒksikult, ilma et peaks iga kord kogu loendit uuesti esitama).
    NĂ€iteks repositooriumi git/git kloonimise korral ilma blobide edastamiseta, piirates kontrolli ainult töökoopia juurkaustaga ja eraldi mĂ€rgistusega kataloogide „t“ ja „Documentation“ vĂ€ljavĂ”tmiseks, saab mĂ€rkida:

    $ git clone —filter=blob:none —sparse git@github.com:git/git.git

    $ cd git
    $ git sparse-checkout init —cone

    $ git sparse-checkout add t
    
.
    $ git sparse-checkout add Documentation
    
.
    $ git sparse-checkout list
    Dokumentatsioon
    t

  • KĂ€sku „git grep“ on mĂ€rgatavalt kiirus suurenenud, kasutades nii praegust repositooriumi sisu kui ka ajaloolisi ĂŒlevaateid. Otsimise kiirendamiseks oli lubatud tööpuude sisu skanneerimine mitme lĂ”imega („git grep —threads“), kuid ajalooliste ĂŒlevaatuste otsimine oli ĂŒhe lĂ”imega. NĂŒĂŒd on see piirang eemaldatud objekti salvestuses lugemise toimingute paralleelseteks rakendamiseks. Vaikimisi mÀÀratakse lĂ”imede arv CPU tuumade arvule, mis enamikel juhtudel ei nĂ”ua nĂŒĂŒd valiku „—threads“ selget seadistamist.
  • Lisatud on automaatse tĂ€itmise tugi alakkĂ€skude, teede, linkide ja teiste „git worktree“ kĂ€su argumentide sisestamiseks, mis vĂ”imaldab töötada mitme repositooriumi töökoopia korral.
  • Toetatud on erksate vĂ€rvide kasutamine, mille jaoks on olemas ANSI escape-jĂ€rjestused. NĂ€iteks vĂ€rvitoonide seadetes "git config --color" vĂ”i "git diff --color-moved" variandi "--format" puhul saab erksinise jaoks kasutada "%C(brightblue)".
  • Lisatud on uus skripti versioon fsmonitor-watchman, mis tagab integreerimise Facebook Watchman failide muudatuste jĂ€lgimise ja uute failide ilmumise kiirendamiseks. PĂ€rast git'i vĂ€rskendamist tuleb asendada hook-i hoidlas.
  • Lisatud on optimeerimised osaliste kloonimise (partial clones) operatsioonide kiirendamiseks, mis on seotud bitikaarte kasutamisega
    (bitmap machinery), et vĂ€ltida kĂ”ikide objektide tĂ€islĂ€bimist andmete filtreerimise ajal. Kontroll blobide ĂŒle (—filter=blob:none ja —filter=blob:limit=n) osalise kloonimise korral toimub nĂŒĂŒd
    oluliselt kiiremini. GitHub teatas nende optimeerimisega seotud patchide rakendamisest ning katse otse toetamist osalise kloonimise jaoks.
  • KĂ€sku «git rebase» on viidud teisele taustale, mis kasutab nĂŒĂŒd vaikimisi ‘merge’ mehhanismi (varem kasutati «rebase -i» puhul) selle asemel, et kasutada ‘patch+apply’. MĂ”nes detailis erinesid taustad, nĂ€iteks pakkus uus taust pĂ€rast konflikti lahendamise jĂ€tkamist (git rebase —continue) vĂ”imalust redigeerida commiti sĂ”numit, samas kui vana kasutas lihtsalt vana sĂ”numit. Vana kĂ€itumise taastamiseks vĂ”ib kasutada valikut «—apply» vĂ”i seada konfiguratsioonimuutuja ‘rebase.backend’ vÀÀrtuseks ‘apply’.
  • Autentimise parameetrite kĂ€sitleja, mis on mÀÀratud .netrc kaudu, on muudetud kasutamiseks valmis kujule.
  • Lisatud on seade gpg.minTrustLevel, et mÀÀrata minimaalne usaldusvÀÀrsuse tase erinevatele elementidele, mis kontrollivad digitaalset allkirja.
  • KĂ€skudes «git rm» ja «git stash» on lisatud valik «—pathspec-from-file».
  • Testrijade tĂ€iendamine on jĂ€tkunud seoses SHA-2 krĂŒptograafilise algoritmi ĂŒleminekuga SHA-1 asemel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster