Dumating ang Git 2.46 na may mga pagpapabuti, pag-aayos at bagong uri ng mga bitmap

git 2.46

Ang bagong bersyon ng Dumating ang Git 2.46 pagkatapos ng tatlong buwan ng pag-unlad at sa bagong release na ito, maraming mga pagpapahusay at makabuluhang bagong feature ang naisama gaya ng eksperimental na suporta para sa bagong uri ng mga bitmap., mga pagpapabuti sa pang-eksperimentong "reftable" na backend, bagong command line interface para sa command na "git config", bukod sa iba pang mga bagay.

Ang bagong bersyon na ito ng Git 2.46 ay kinabibilangan ng mga pag-aayos ng bug mula sa mahigit 96 na nag-aambag, 31 sa kanila ay bago at dahil dito, ang bagong bersyon naglalaman ng 746 na pagbabago.

Pangunahing mga bagong tampok sa Git 2.46

Ang pang-eksperimentong suporta para sa Ang "pseudofusion accessibility bitmap" ay isa sa pinakamahalagang pag-unlad ng release na ito, at itong bagong uri ng bitmap sat iba sa tradisyonal na istruktura "bitmap ng accessibility" sa pamamagitan ng pag-iimbak ng data tungkol sa mga hanay ng mga object na nauugnay sa commit hindi para sa bawat indibidwal na commit, ngunit para sa ilang commit nang sabay-sabay.

Dahil dito, ang pseudomerge accessibility bitmap na ito nagbibigay-daan sa paggamit ng isang bitmap upang tukuyin ang mga bagay sa mga commit ng iba't ibang sangay, na nagreresulta sa isang makabuluhang pagpapabuti ng pagganap, lalo na sa malalaking repositoryo. Pinapabilis nito ang mga operasyon tulad ng git fetch, git rev-list, at git clone sa pamamagitan ng pagbabawas ng pangangailangan na bumuo ng maraming hiwalay na bitmap.

git 2.46 nagpapakilala rin ng ilang mahahalagang pagpapabuti sa interface ng command line nito at sa pamamahala ng mga kredensyal at pag-iimbak ng data. Ang interface ng command line para sa git config command ay muling idinisenyo, pinapalitan ang magkakaibang mga opsyon tulad ng –get, –get-all, –unset, at –remove-section na may isang hanay ng mga mas intuitive na subcommand. Halimbawa, upang ipakita ang lahat ng mga pagsasaayos ng imbakan, maaari mo na ngayong gamitin ang command na "git configlist«, at upang tingnan ang nilalaman ng isang partikular na parameter, maaari mo na ngayong gamitin ang command «git config get ». Para i-filter pa ang mga resulta, maaari mong gamitin ang opsyong “–regexp” para tumukoy ng filter batay sa isang regular na expression.

Bilang karagdagan dito, sa protocol «credential helper" ay nagdagdag ng suporta para sa mga bagong field na "authtype" at "credential"., na nagbibigay-daan sa iyong lumikha ng mga humahawak para sa mga sistema ng pagpapatunay ng HTTP na higit pa sa pag-verify ng username at password, halimbawa, kapag gumagamit ng Bearer Token sa OAuth 2.0. At dati, Upang gumana sa naturang mga sistema ng pagpapatunay, kinakailangan upang tukuyin ang kumpidensyal na data sa malinaw na teksto sa parameter na http.extraHeader. Bukod, protocol ay nagdaragdag ng kakayahang ipagpatuloy ang estado ng bawat controller ng mga kredensyal upang suportahan ang mga pamamaraan ng multi-factor na pagpapatotoo na ginagamit sa mga protocol gaya ng NTLM at Kerberos.

Sa kabilang banda, ang pagbuo ng pang-eksperimentong "reftable" na backend ay napabuti para sa mahusay na pag-iimbak ng mga link sa mga sangay at tag sa repositoryo. Idinaragdag ng bagong bersyon ang command na “git refs migrate –ref-format=reftable” para i-migrate ang mga kasalukuyang repositoryo sa backend na “reftable” (dati, pinagana lang ang backend noong nasimulan ang repositoryo).

Din, Sa Git 2.46 nagsimula ang proseso ng pag-convert ng ilang pagsubok mula sa test suite, sa paggamit ng mga unit test. Nilalayon nitong pasimplehin ang pagsubok ng mga bahaging mababa ang antas at papataasin ang kahusayan ng proseso ng pagsubok sa platform ng Windows, na bumubuo ng malalaking gastos sa overhead kapag nagpapatakbo ng maraming proseso sa isang malaking platform sa panahon ng pagpapatupad ng mga pagsubok na ipinatupad sa isang script ng shell .

Ng iba pang mga pagbabago na namumukod-tangi ng bagong bersyon na ito:

  • Idinagdag ang opsyong “–no-advice” sa git command, na hindi pinapagana ang lahat ng payo at mga mensahe ng pahiwatig, na maaaring maging kapaki-pakinabang upang maiwasan ang log mula sa pagkabara ng hindi kinakailangang impormasyon sa panahon ng isang git push call.
  • Idinagdag ang kakayahang gamitin ang representasyong "#RGB" bilang karagdagan sa representasyong "#RRGGBB" sa code upang i-parse ang mga setting ng kulay.
  • Kapag nakita ng git merge na hindi ma-update ang index (halimbawa, dahil sa
    sa isa pang proseso na gumagawa ng parehong bagay sa background)
  • Ang isang CPP macro na USE_THE_REPOSITORY_VARIABLE ay ipinakilala upang makatulong sa paglipat ng codebase upang hindi gaanong nakadepende sa availability ng the_repository singleton instance.
  • Iniuulat ng “git version –build-options” ang impormasyon ng bersyon ng
  • OpenSSL at iba pang mga aklatan (kung ginamit) sa build.
  • Inayos ang pagtagas ng memorya sa "git mv"
  • Na-update na suporta sa pagkumpleto ng command line para sa zsh (sa contrib/)
    upang ihinto ang paglalantad ng panloob na estado sa pakikipag-ugnayan ng shell ng end-user

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.