Git 2.41 qhov chaw tswj qhov system muaj

Tom qab peb lub hlis ntawm kev txhim kho, qhov kev faib tawm tswj qhov system Git 2.41 tau tso tawm. Git yog ib qho ntawm cov neeg nyiam tshaj plaws, txhim khu kev qha thiab kev ua tau zoo ntawm kev tswj hwm kev tswj hwm, muab cov cuab yeej hloov kho tsis yog kab tawm raws li kev sib txuas thiab kev sib koom ua ke. Txhawm rau kom muaj kev ncaj ncees ntawm keeb kwm thiab kev tiv thaiv kev hloov pauv rov qab, kev cuam tshuam ntawm tag nrho cov keeb kwm yav dhau los yog siv nyob rau hauv txhua qhov kev cog lus; nws tseem muaj peev xwm lees paub tus kheej cov cim npe thiab cog lus nrog cov kos npe digital ntawm cov neeg tsim khoom.

Piv nrog rau qhov kev tso tawm dhau los, cov ntawv tshiab suav nrog 542 kev hloov pauv, npaj nrog kev koom tes ntawm 95 tus tsim tawm, ntawm 29 tau koom nrog kev txhim kho thawj zaug. Main innovations:

  • Kev tswj hwm cov khoom tsis ncav cuag tau zoo dua, uas tsis raug xa mus los ntawm cov ceg lossis cov cim npe hauv lub chaw khaws ntaub ntawv. Cov khoom tsis ncav cuag tau raug sau cov khib nyiab, tab sis tseem nyob hauv lub chaw khaws ntaub ntawv rau ib lub sijhawm ua ntej tshem tawm kom tiv thaiv kev sib tw. Kev taug qab lub sijhawm ntawm cov khoom tsis ncav cuag yuav tsum tau koom nrog cov sijhawm hloov kho nrog lawv, uas tiv thaiv kev khaws cia rau hauv ib daim ntawv pob khoom uas txhua yam khoom sib koom ua ke lub sijhawm hloov kho. Yav dhau los, txhua yam khoom tsis ncav cuag tau khaws cia rau hauv cov ntaub ntawv sib cais, uas ua rau muaj teeb meem thaum muaj ntau yam khoom tshiab tsis ncav cuag uas tseem tsis tau tsim nyog rau kev tshem tawm. Hauv qhov kev tso tawm tshiab, lub tshuab "cruft packs" siv los ntawm lub neej ntawd rau kev ntim cov khoom tsis ncav cuag. Qhov no tso cai rau kev khaws cia txhua yam khoom tsis ncav cuag hauv ib daim ntawv pob khoom, thiab khaws cov sijhawm hloov kho rau txhua yam khoom hauv lub rooj sib cais khaws cia rau hauv cov ntaub ntawv nrog qhov txuas ntxiv ".mtimes" thiab txuas nrog siv cov ntaub ntawv ntsuas nrog qhov txuas ntxiv ".idx".
    Git 2.41 qhov chaw tswj qhov system muaj
  • Qhov kev ntsuas rov qab ntawm On-disk (revindex) rau cov ntaub ntawv pob khoom yog qhib los ntawm lub neej ntawd. Kev sim ntawm torvalds/linux repository qhia tau tias kev siv cov ntsuas rov qab ua rau cov haujlwm "git push" uas siv ntau yam khoom ntau ntxiv los ntawm 1.49x, thaum cov haujlwm yooj yim xws li xam qhov loj ntawm ib yam khoom siv "git cat-file --batch='%(objectsize:disk)'" ua rau kev ua haujlwm nce ntxiv los ntawm 77x. Cov ntaub ntawv (".rev") nrog cov ntsuas rov qab yuav raug khaws cia hauv lub chaw cia khoom hauv daim nplaub tshev ".git/objects/pack".

    Ua ib qho kev ceeb toom, Git khaws tag nrho cov ntaub ntawv ua cov khoom, uas tau khaws cia rau hauv cov ntaub ntawv sib cais. Txhawm rau txhim kho kev tswj hwm chaw cia khoom, cov khoom tau muab tso rau hauv cov ntaub ntawv pob, uas nthuav tawm cov ntaub ntawv ua cov kwj deg ntawm cov khoom ua raws li ib leeg (ib hom ntawv zoo sib xws yog siv thaum hloov cov khoom nrog cov lus txib git fetch thiab git push). Rau txhua cov ntaub ntawv pob, cov ntaub ntawv ntsuas (.idx) tau tsim, uas tso cai rau tus lej ID ntawm cov khoom siv los txiav txim siab sai sai qhov offset hauv cov ntaub ntawv pob qhov twg cov khoom tau khaws cia.

    Tus lej inverse uas suav nrog hauv qhov kev tso tawm tshiab no yog lub hom phiaj los txhim kho cov txheej txheem ntawm kev txiav txim siab tus lej ID ntawm ib yam khoom raws li qhov chaw ntawm yam khoom hauv cov ntaub ntawv pob. Yav dhau los, qhov kev hloov pauv no tau ua tiav thaum lub sijhawm txheeb xyuas cov ntaub ntawv pob thiab tsuas yog khaws cia rau hauv lub cim xeeb, tiv thaiv kev siv cov lej no dua thiab yuam kom cov lej tsim txhua lub sijhawm. Kev tsim cov lej suav nrog kev tsim cov khoom sib txuas thiab kev txheeb xyuas lawv los ntawm qhov chaw, uas tuaj yeem siv sijhawm ntau rau cov ntaub ntawv pob loj.

    Piv txwv li, kev tso saib cov ntsiab lus ntawm cov khoom siv cov ntsuas pem hauv ntej yog 62 npaug sai dua li kev tso saib qhov loj ntawm cov khoom yam tsis muaj kev ntsuas. Tom qab siv cov ntsuas rov qab, cov haujlwm no siv sijhawm kwv yees li tib lub sijhawm. Cov ntsuas rov qab kuj ua kom nrawm dua los ntawm kev xa cov ntaub ntawv npaj txhij los ntawm disk.

    Git 2.41 qhov chaw tswj qhov system muaj
  • Tus txheej txheem "credential helper", siv los xa cov ntaub ntawv pov thawj thaum nkag mus rau cov chaw khaws ntaub ntawv nrog kev nkag mus txwv, tam sim no txhawb nqa kev hla WWW-Authenticate headers ntawm tus neeg tuav ntaub ntawv pov thawj thiab kev pabcuam authentication. Kev txhawb nqa rau WWW-Authenticate header ua rau kev hla ntawm OAuth scope parameters rau kev nkag mus rau cov chaw khaws ntaub ntawv ntau dua thiab kev txwv ntawm cov cheeb tsam thov muaj.
  • Cov lus txib rau txhua tus-ref tau hloov kho kom suav nrog kev xaiv hom ntawv "%(ua ntej-qab: )", uas tso cai rau koj kom tau txais cov ntaub ntawv hais txog tus naj npawb ntawm cov kev cog lus uas muaj lossis tsis muaj nyob rau hauv ib ceg tshwj xeeb piv rau lwm ceg (ib ceg nyob deb npaum li cas tom qab lossis ua ntej ntawm lwm ceg ntawm qib kev cog lus). Yav dhau los, kom tau txais cov ntaub ntawv zoo li no, nws yog qhov tsim nyog los khiav ob lo lus txib sib cais: "git rev-list --count main..my-feature" kom tau txais tus naj npawb ntawm cov kev cog lus tshwj xeeb rau ib ceg thiab "git rev-list --count my-feature..main" kom tau txais tus naj npawb ntawm cov kev cog lus uas ploj lawm. Tam sim no cov kev suav no tuaj yeem txo qis rau ib lo lus txib, uas ua rau cov neeg sau ntawv yooj yim dua thiab txo lub sijhawm ua tiav. Piv txwv li, kom qhia cov ceg tsis sib koom ua ke thiab kwv yees tias lawv nyob deb npaum li cas tom qab lossis ua ntej ntawm ceg tseem ceeb, koj tuaj yeem siv ib kab lus: $ git for-each-ref --no-merged=origin/HEAD \ --format='%(refname:short) %(ahead-behind:origin/HEAD)' \ refs/heads/tb/ | column -t tb/cruft-extra-tips 2 96 tb/rau-txhua-ref—tsis suav nrog 16 96 tb/roaring-bitmaps 47 3 es tsis txhob siv tsab ntawv dhau los, uas khiav qeeb dua 17 npaug: $ git rau-txhua-ref —format='%(refname:short)' —no-merged=origin/HEAD \ refs/heads/tb | thaum nyeem ref ua ntej=»$(git rev-list —count origin/HEAD..$ref)» tom qab=»$(git rev-list —count $ref..origin/HEAD)» printf «%s %d %d\n» «$ref» «$ahead» «$behind» ua tiav | column -t tb/cruft-extra-tips 2 96 tb/rau-txhua-ref—tsis suav nrog 16 96 tb/roaring-bitmaps 47 3
  • Cov lus txib "git fetch" tam sim no muaj kev xaiv "--porcelain", uas, thaum teev tseg, tsim cov zis hauv hom ntawv " ", nyeem tsis tau yooj yim dua, tab sis yooj yim dua rau kev txheeb xyuas hauv cov ntawv sau.
  • Ntxiv qhov chaw "fetch.hideRefs", uas tso cai rau koj kom ua haujlwm "git fetch" sai dua los ntawm kev zais qee cov ntaub ntawv hauv lub chaw khaws ntaub ntawv hauv zos thaum lub sijhawm kuaj xyuas seb lub server puas tau xa tag nrho cov khoom, uas tso cai rau koj txuag lub sijhawm los ntawm kev txwv qhov kev kuaj xyuas rau tsuas yog servers, uas cov ntaub ntawv raug rho tawm ncaj qha. Piv txwv li, thaum khiav qhov kev sim ntawm lub kaw lus nrog cov chaw khaws cia uas muaj ntau tus lej ntawm cov kev sib txuas sab nraud, tsis suav nrog txhua qhov kev sib txuas tshwj tsis yog cov uas xa mus rau lub hom phiaj neeg rau zaub mov $remote, txo lub sijhawm ua haujlwm ntawm "git fetch" los ntawm 20 feeb mus rau 30 vib nas this. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \ fetch $remote
  • Cov lus txib git fsck siv lub peev xwm los xyuas kev puas tsuaj, kev kuaj xyuas qhov sib xws, thiab qhov tseeb ntawm cov nqi hauv cov bitmaps muaj thiab cov ntsuas rov qab.
  • Cov lus txib "git clone --local" tam sim no pov qhov yuam kev thaum sim theej los ntawm lub chaw khaws ntaub ntawv uas muaj cov txuas cim hauv $ GIT_DIR.

Tau qhov twg los: opennet.ru

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster