Lançimi i sistemit të shpërndarë të menaxhimit të burimeve të kodit Git 2.26

I disponueshëm lëshimi i sistemit të distribuar të menaxhimit të kodit burimor Git 2.26.0. Git është një nga sistemet më të njohura, të besueshme dhe me performancë të lartë për menaxhimin e versioneve, që ofron mjete fleksibile për zhvillimin jolinear, të bazuara në degëzimin dhe bashkimin e degëve. Për të siguruar integritetin e historisë dhe qëndrueshmërinë ndaj ndryshimeve "mbrapa në kohë" përdoret hashingu implicit i gjithë historisë së mëparshme në çdo commit, gjithashtu është e mundur vërtetimi me nënshkrime digjitale të etiketave dhe komiteve të veçanta.

Krahasuar me versionin e mëparshëm, në versionin e ri janë përfshirë 504 ndryshime, të përgatitura me pjesëmarrjen e 64 zhvilluesve, prej të cilëve 12 morën pjesë për herë të parë në zhvillim. Main innovations:

  • ËshtĂ« aktivizuar si parazgjedhje kalimi nĂ« versionin e dytĂ« tĂ« protokollit tĂ« komunikimit Git, i cili pĂ«rdoret gjatĂ« lidhjes nĂ« distancĂ« tĂ« klientit me serverin Git. Versioni i dytĂ« i protokollit dallohet pĂ«r mundĂ«sinĂ« e filtrimit tĂ« degĂ«ve dhe etiketave nĂ« anĂ«n e serverit, duke i dĂ«rguar klientit njĂ« listĂ« tĂ« shkurtuar referencash. MĂ« parĂ«, gjatĂ« ekzekutimit tĂ« çdo komande tĂ«rheqjeje, klientit i dĂ«rgohej gjithmonĂ« lista e plotĂ« e referencave nĂ« tĂ« gjithĂ« depozitĂ«n, edhe kur klienti pĂ«rditĂ«sonte vetĂ«m njĂ« degĂ« ose kontrollonte nĂ«se kopja e tij e depozitĂ«s ishte aktuale. NjĂ« risi tjetĂ«r e rĂ«ndĂ«sishme Ă«shtĂ« mundĂ«sia pĂ«r tĂ« shtuar veçori tĂ« reja nĂ« protokoll me shfaqjen e funksionaliteteve tĂ« reja nĂ« mjetet e pĂ«rdorura. Kodi i klientit mbetet i pajtueshĂ«m me protokollin e vjetĂ«r dhe mund tĂ« vazhdojĂ« tĂ« punojĂ« si me serverĂ« tĂ« rinj ashtu edhe me ata tĂ« vjetĂ«r, duke u kthyer automatikisht te versioni i parĂ« nĂ«se serveri nuk e mbĂ«shtet tĂ« dytin.
  • NĂ« komandĂ«n «git config» Ă«shtĂ« shtuar opsioni «—show-scope», i cili e bĂ«n mĂ« tĂ« lehtĂ« pĂ«rcaktimin e vendit ku janĂ« pĂ«rkufizuar cilĂ«sime tĂ« caktuara. Git lejon pĂ«rcaktimin e cilĂ«simeve nĂ« vende tĂ« ndryshme: nĂ« depozitĂ« (.git/info/config), nĂ« drejtorinĂ« e pĂ«rdoruesit (~/.gitconfig), nĂ« skedarin e konfigurimit tĂ« sistemit (/etc/gitconfig), si edhe pĂ«rmes opsioneve tĂ« rreshtit tĂ« komandĂ«s dhe variablave tĂ« mjedisit. GjatĂ« ekzekutimit tĂ« «git config», Ă«shtĂ« mjaft e vĂ«shtirĂ« tĂ« kuptohet saktĂ«sisht ku Ă«shtĂ« pĂ«rcaktuar cilĂ«simi i kĂ«rkuar. PĂ«r zgjidhjen e kĂ«saj detyre ishte i disponueshĂ«m opsioni «—show-origin», por ai tregon vetĂ«m rrugĂ«n e skedarit ku Ă«shtĂ« pĂ«rcaktuar cilĂ«simi, gjĂ« qĂ« Ă«shtĂ« e dobishme nĂ«se synoni tĂ« redaktoni skedarin, por nuk ndihmon nĂ«se duhet tĂ« ndryshoni vlerĂ«n pĂ«rmes «git config» duke pĂ«rdorur opsionet «—system», «—global» ose «—local». Opsioni i ri «—show-scope» shfaq kontekstin e pĂ«rcaktimit tĂ« variablave dhe mund tĂ« pĂ«rdoret sĂ« bashku me «—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

  • NĂ« cilĂ«simet e lidhjes sĂ« kredencialeve tĂ« llogarisĂ« Lejohet pĂ«rdorimi i maskave nĂ« URL. Çdo konfigurim HTTP dhe tĂ« dhĂ«nat e hyrjes nĂ« Git mund tĂ« caktohen si pĂ«r tĂ« gjitha lidhjet (http.extraHeader, credential.helper), ashtu edhe pĂ«r lidhje tĂ« lidhura me njĂ« URL tĂ« caktuar (credential.https://example.com.helper, credential.https://example.com.helper). Deri mĂ« tani, pĂ«rdorimi i maskave si *.example.com lejohej vetĂ«m pĂ«r konfigurimet HTTP, por nuk mbĂ«shtetej pĂ«r lidhjen e tĂ« dhĂ«nave tĂ« hyrjes. NĂ« Git 2.26 kĂ«to dallime janĂ« hequr dhe, pĂ«r shembull, pĂ«r tĂ« lidhur njĂ« emĂ«r pĂ«rdoruesi me tĂ« gjitha nĂ«n-domenet tani mund tĂ« specifikoni:

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

    username = ttaylorr

  • ËshtĂ« vazhduar zgjerimi i mbĂ«shtetjes eksperimentale pĂ«r klonimin e pjesshĂ«m (partial clones), i cili mundĂ«son transferimin vetĂ«m tĂ« njĂ« pjese tĂ« tĂ« dhĂ«nave dhe punĂ«n me njĂ« kopje jo tĂ« plotĂ« tĂ« depozitĂ«s. NĂ« versionin e ri Ă«shtĂ« shtuar komanda e re «git sparse-checkout add», e cila lejon shtimin e direktorive tĂ« veçanta pĂ«r tĂ« zbatuar operacionin «checkout» vetĂ«m mbi njĂ« pjesĂ« tĂ« pemĂ«s sĂ« punĂ«s, nĂ« vend qĂ« tĂ« listohen tĂ« gjitha kĂ«to direktori njĂ«herĂ«sh pĂ«rmes komandĂ«s «git sparse-checkout set» (mund tĂ« shtohen njĂ« nga njĂ«, pa ricaktuar çdo herĂ« tĂ« gjithĂ« listĂ«n).
    Për shembull, për të klonuar depozitën git/git pa transferuar blob-et, duke e kufizuar checkout-in vetëm te drejtoria rrënjë e kopjes së punës dhe duke shënuar veçmas për nxjerrje direktoritë «t» dhe «Documentation», mund të specifikoni:

    $ 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
    Documentation
    t

  • ËshtĂ« rritur ndjeshĂ«m performanca e komandĂ«s «git grep», e pĂ«rdorur pĂ«r kĂ«rkim si nĂ« pĂ«rmbajtjen aktuale tĂ« depozitĂ«s, ashtu edhe nĂ« revizionet historike. PĂ«r tĂ« pĂ«rshpejtuar kĂ«rkimin, lejohej skanimi i pĂ«rmbajtjes sĂ« pemĂ«s sĂ« punĂ«s duke pĂ«rdorur disa rrjedha («git grep —threads»), por kĂ«rkimi nĂ« revizionet historike ishte njĂ«rrjedhĂ«sh. Tani ky kufizim Ă«shtĂ« hequr falĂ« zbatimit tĂ« mundĂ«sisĂ« pĂ«r tĂ« paralelizuar operacionet e leximit nga ruajtĂ«si i objekteve. Si parazgjedhje, numri i rrjedhave caktohet i barabartĂ« me numrin e bĂ«rthamave tĂ« CPU-sĂ«, kĂ«shtu qĂ« nĂ« shumicĂ«n e rasteve nuk Ă«shtĂ« mĂ« e nevojshme tĂ« vendoset shprehimisht opsioni «—threads».
  • ËshtĂ« shtuar mbĂ«shtetja pĂ«r autokompletimin e futjes sĂ« nĂ«nkomandave, shtigjeve, referencave dhe argumenteve tĂ« tjera tĂ« komandĂ«s «git worktree», e cila mundĂ«son punĂ«n me disa kopje pune tĂ« depozitĂ«s.
  • ËshtĂ« shtuar mbĂ«shtetja pĂ«r ngjyrat e ndezura, pĂ«r tĂ« cilat ekzistojnĂ« sekuenca ANSI escape. PĂ«r shembull, te cilĂ«simet e ngjyrave tĂ« theksimit «git config —color» ose «git diff —color-moved», pĂ«rmes opsionit «—format» pĂ«r blu tĂ« hapur tĂ« ndezur mund tĂ« specifikohet «%C(brightblue)».
  • ËshtĂ« shtuar njĂ« version i ri i skriptit fsmonitor-watchman, qĂ« siguron integrim me mekanizmin Facebook Watchman pĂ«r tĂ« pĂ«rshpejtuar gjurmimin e ndryshimeve tĂ« skedarĂ«ve dhe shfaqjen e skedarĂ«ve tĂ« rinj. Pas pĂ«rditĂ«simit tĂ« git kĂ«rkohet tĂ« zĂ«vendĂ«sohet hook nĂ« depo.
  • JanĂ« shtuar optimizime pĂ«r tĂ« pĂ«rshpejtuar operacionet e klonimit tĂ« pjesshĂ«m (partial clones), tĂ« lidhura me pĂ«rdorimin e hartave bit
    (bitmap machinery) pĂ«r tĂ« shmangur kalimin e plotĂ« tĂ« tĂ« gjitha objekteve gjatĂ« filtrimit tĂ« dĂ«rgimit. Kontrolli i blob-eve (—filter=blob:none dhe —filter=blob:limit=n) gjatĂ« klonimit tĂ« pjesshĂ«m tani kryhet
    dukshëm më shpejt. GitHub njoftoi për përdorimin e patch-eve me këto optimizime dhe për mbështetje eksperimentale për klonimin e pjesshëm.
  • Komanda «git rebase» Ă«shtĂ« kaluar nĂ« njĂ« backend tjetĂ«r, i cili pĂ«rdor si parazgjedhje mekanizmin ‘merge’ (mĂ« parĂ« pĂ«rdorej pĂ«r «rebase -i») nĂ« vend tĂ« ‘patch+apply’. NĂ« disa hollĂ«si tĂ« vogla backend-et ndryshojnĂ«; pĂ«r shembull, pas vazhdimit tĂ« operacionit pas zgjidhjes sĂ« konfliktit (git rebase —continue), backend-i i ri propozon tĂ« redaktohet mesazhi i commit-it, ndĂ«rsa i vjetri thjesht pĂ«rdorte mesazhin ekzistues. PĂ«r tĂ« rikthyer sjelljen e vjetĂ«r mund tĂ« pĂ«rdoret opsioni «—apply» ose tĂ« caktohet ndryshorja e konfigurimit ‘rebase.backend’ me vlerĂ«n ‘apply’.
  • Shembulli i pĂ«rpunuesit tĂ« parametrave tĂ« autentikimit, tĂ« pĂ«rcaktuar pĂ«rmes .netrc, Ă«shtĂ« sjellĂ« nĂ« njĂ« formĂ« tĂ« gatshme pĂ«r pĂ«rdorim menjĂ«herĂ«.
  • ËshtĂ« shtuar cilĂ«simi gpg.minTrustLevel pĂ«r tĂ« pĂ«rcaktuar nivelin minimal tĂ« besimit pĂ«r elemente tĂ« ndryshme qĂ« kryejnĂ« verifikimin e nĂ«nshkrimit dixhital.
  • Te «git rm» dhe «git stash» Ă«shtĂ« shtuar opsioni «—pathspec-from-file».
  • U vazhdua pĂ«rmirĂ«simi i paketave tĂ« testeve nĂ« kuadĂ«r tĂ« pĂ«rgatitjes pĂ«r kalimin te algoritmi i hashimit SHA-2 nĂ« vend tĂ« SHA-1.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster