Kutulutsidwa kwa makina owongolera gwero la Git 2.37 kwalengezedwa. Git ndi imodzi mwazinthu zodziwika bwino, zodalirika komanso zotsogola kwambiri, zomwe zimapereka zida zosinthika zopanda mzere zomwe zimatengera nthambi ndi kuphatikiza. Kuwonetsetsa kukhulupirika kwa mbiriyakale komanso kukana kusintha kosinthika, hashing yambiri yonse yam'mbuyomu imagwiritsidwa ntchito pakudzipereka kulikonse ndikothekanso kutsimikizira ma tag ndikuchita ndi siginecha ya digito ya opanga.
Poyerekeza ndi kutulutsidwa koyambirira, zosintha za 395 zidasinthidwa kukhala mtundu watsopano, wokonzedwa ndikutenga nawo gawo kwa opanga 75, omwe 20 adatenga nawo gawo pakukula kwa nthawi yoyamba. Zatsopano zazikulu:
- Kapangidwe ka indexes pang'ono (sparse index), kuphimba gawo lokhalo la malo osungira, abweretsedwa kuti agwiritsidwe ntchito ponseponse. Zolozera pang'ono zimatha kupititsa patsogolo magwiridwe antchito ndikusunga malo m'malo osungira omwe amagwira ntchito pang'ono (pang'onopang'ono-checkout) kapena kugwira ntchito ndi chosungira chosakwanira. Kutulutsidwa kwatsopano kumamaliza kuphatikizika kwa magawo ena mu git show, git sparse-checkout, ndi malamulo a git stash. Kupindula kodziwika kwambiri pogwiritsa ntchito ma index pang'ono kumawonedwa ndi lamulo la git stash, lomwe lawona kuwonjezeka kwa 80% pa liwiro lakupha nthawi zina.
- Njira yatsopano ya "cruft packs" yakhazikitsidwa pakulongedza zinthu zosafikirika zomwe sizinatchulidwe m'malo osungira (osatchulidwa ndi nthambi kapena ma tag). Zinthu zosafikirika zimachotsedwa ndi wotolera zinyalala, koma kukhalabe m'malo osungiramo zinthu kwakanthawi asanachotsedwe kuti apewe mikhalidwe yamtundu. Kuti muwone nthawi ya zochitika za zinthu zosafikirika, m'pofunika kuyika ma tag kwa iwo ndi nthawi ya kusintha kwa zinthu zofanana, zomwe sizilola kuzisunga mu fayilo imodzi ya paketi yomwe zinthu zonse zimakhala ndi nthawi yofanana yosintha. M'mbuyomu, kupulumutsa chinthu chilichonse mufayilo yosiyana kumabweretsa mavuto pomwe panali zinthu zambiri zatsopano, zosafikirika zomwe sizinali zoyenera kufufutidwa. Njira yokonzedweratu ya "cruft packs" imakulolani kusunga zinthu zonse zosafikirika mu fayilo imodzi ya paketi, ndikuwonetseratu deta pa nthawi yosinthidwa ya chinthu chilichonse mu tebulo losiyana losungidwa mu fayilo ndi ".mtimes" yowonjezera.
- Kwa Windows ndi macOS, pali njira yolumikizirana yosinthira mafayilo pamafayilo, kukulolani kuti musamabwereze chikwatu chonse chogwira ntchito mukamagwira ntchito monga "git status". M'mbuyomu, kuti muwone zosintha, zida zakunja zotsata zosintha mu FS, monga Watchman, zitha kulumikizidwa kudzera pa mbedza, koma izi zidafunikira kukhazikitsa mapulogalamu owonjezera ndi kasinthidwe. Tsopano ntchito yomwe yatchulidwayi imamangidwa ndipo ikhoza kuthandizidwa ndi lamulo la "git config core.fsmonitor true".
- Mu lamulo la "git sparse-checkout", kuthandizira kwa njira ina ya "-cone", njira yofotokozera ma tempuleti opangira pang'onopang'ono, yanenedwa kuti ndi yachikale, yomwe imalola, pozindikira gawo la malo osungira omwe akuyenera ntchito ya cloning, kuti mulembe mafayilo amtundu uliwonse pogwiritsa ntchito mawu oti ".gitignore", omwe salola kugwiritsa ntchito kukhathamiritsa pang'ono indexes.
- Kuchulukitsa kusinthasintha pakukonza fsync() kuyimba kuti musinthe kusintha kwa disk. Thandizo la njira yolumikizira "batch" yawonjezeredwa ku "core.fsyncMethod" parameter, yomwe imalola kufulumizitsa ntchito polemba chiwerengero chachikulu cha mafayilo payekha mwa kusonkhanitsa kusintha kwa cache yolembera, yomwe imasinthidwa ndi fsync imodzi () kuitana. Mayeso, omwe adapangitsa kuti mafayilo 500 awonjezedwe pogwiritsa ntchito lamulo la "git add", adamalizidwa mumasekondi 0.15 pomwe mawonekedwe atsopano adayatsidwa, pomwe kuyimba fsync() kudatenga masekondi 1.88 pafayilo iliyonse, osagwiritsa ntchito fsync - masekondi 0.06 .
- Malamulo oyendera nthambi monga "git log" ndi "git rev-list" tsopano ali ndi kusankha "-since-as-filter=X" komwe kumakupatsani mwayi wosefa zambiri zamabizinesi akulu kuposa "X". Mosiyana ndi "-kuyambira" njira, lamulo latsopanoli likugwiritsidwa ntchito ngati fyuluta yomwe siyimayimitsa kufufuza pambuyo pochita zaka zambiri kuposa nthawi yotchulidwa.
- Mu lamulo la "git remote", mukamatchula mbendera ya "-v", zidziwitso za ma clones ochepa a malo osungirako zikuwonetsedwa.
- Anawonjezera "transfer.credentialsInUrl", zomwe zingatenge "chenjezo", "dieni" ndi "lolani". Ngati zafotokozedwa mu parameter "remote. .url" mawu osamveka, kuyesa "kulanda" kapena "kukankhira" sikulephera ndi vuto ngati "transfer.credentialsInUrl" zochunira zayikidwa kuti "die", kapena chenjezo ngati layikidwa kuti "chenjezo".
- Mwachikhazikitso, kukhazikitsidwa kwatsopano kwa njira yolumikizirana ya lamulo la "git add -i", lolembedwanso kuchokera ku Perl kupita ku C, limayatsidwa.
Source: opennet.ru
