Sistemụ njikwa isi mmalite Git 2.41 dị

Mgbe ọnwa atọ nke mmepe gasịrị, ebipụtara ntọhapụ nke sistemụ njikwa isi mmalite Git 2.41 ka ebipụtara. Git bụ otu n'ime usoro njikwa ụdị kachasị ewu ewu, ntụkwasị obi na arụ ọrụ dị elu nke na-enye ngwaọrụ mmepe na-adịghị agbanwe agbanwe dabere na alaka alaka na ijikọ. Iji hụ na iguzosi ike n'ezi ihe nke akụkọ ihe mere eme na iguzogide mgbanwe mgbanwe, a na-eji hashing nke akụkọ ihe mere eme gara aga na nke ọ bụla, ọ ga-ekwe omume iji nyochaa mkpado onye ọ bụla wee jiri mbinye aka dijitalụ sitere n'aka ndị mmepe.

N'iji ya tụnyere ntọhapụ gara aga, a nabatara mgbanwe 542 n'ime ụdị ọhụrụ ahụ, kwadebere na ntinye nke ndị mmepe 95, nke 29 na-ekere òkè na mmepe maka oge mbụ. Isi ihe ọhụrụ:

  • Ijikwa ihe ndị a na-apụghị irute nke ọma na-edeghị aha na ebe nchekwa (alaka ma ọ bụ mkpado anaghị atụ aka). A na-ewepụ ihe ndị a na-apụghị iru eru site n'aka onye na-ekpofu ihe, ma na-anọ na ebe nchekwa ruo oge ụfọdụ tupu iwepụ ya iji zere ọnọdụ agbụrụ. Iji na-edekọ oge nke ihe ndị a na-apụghị iru eru, ọ dị mkpa ijikọta akara na ha na oge mgbanwe nke ihe ndị yiri ya, nke na-adịghị ekwe ka ịchekwa ha na otu mkpọ-faịlụ, nke ihe niile nwere oge mgbanwe oge. Na mbụ, a na-echekwa ihe ọ bụla a na-apụghị ịchọta na faịlụ dị iche iche, nke kpatara nsogbu ma ọ bụrụ na enwere ọnụ ọgụgụ buru ibu nke ihe ọhụrụ a na-apụghị ịchọta nke na-edobebeghị ihichapụ. Na ntọhapụ ọhụrụ ahụ, site na ndabara, a na-eji usoro "cruft packs" na-ebukọta ihe ndị a na-apụghị iru eru, nke na-enye ohere ịchekwa ihe niile na-enweghị ike iru n'otu faịlụ ngwugwu, na-egosipụta data na oge mgbanwe nke ihe ọ bụla na tebụl dị iche iche echekwara na a. tinye faịlụ na ndọtị ".mtimes" wee jikọta ya site na iji faịlụ index nwere ndọtị ".idx".
    Sistemụ njikwa isi mmalite Git 2.41 dị
  • Site na ndabara, a na-akwado idowe ntụgharị ntụgharị (revindex) na diski maka faịlụ mkpọ. Mgbe a nwalere na ebe nchekwa torvalds/linux, iji ntụgharị ntụgharị mere ka anyị mee ngwa ngwa ọrụ "git push" ngwa ngwa site na ugboro 1.49, yana arụmọrụ dị mfe, dị ka ịgbakọ nha nke otu ihe site na iji "git cat- faịlụ --batch='%(objectsize: disk)' » ugboro 77. A ga-echekwa faịlụ (".rev") nwere ntụgharị ntụgharị n'ime ebe nchekwa ahụ na ndekọ ".git/objects/pack".

    Cheta na Git na-echekwa data niile n'ụdị ihe, nke etinyere na faịlụ dị iche iche. Iji bulie arụmọrụ nke ịrụ ọrụ na ebe nchekwa ahụ, a na-etinyekwa ihe na faịlụ mkpọ, nke ewepụtara ozi n'ụdị iyi nke ihe na-eso otu mgbe (a na-eji usoro yiri ya mgbe ị na-ebufe ihe na git fetch na git. iwu push). A na-emepụta faịlụ index (.idx) maka faịlụ mkpọ ọ bụla, nke na-enye gị ohere ikpebi nkwụsịtụ dị na faịlụ ngwugwu nke ejiri ihe njirimara ihe na-echekwa ihe enyere.

    Ntugharị ntụgharị nke etinyere na ntọhapụ ọhụrụ a bụ iji kwalite usoro nke ịchọpụta ID ihe site na ozi gbasara ebe ihe dị na faịlụ mkpọ. Na mbụ, a na-eme mgbanwe dị otú ahụ na ijiji n'oge a na-atụgharị faịlụ mkpọ ma na-echekwa ya naanị na ebe nchekwa, nke na-ekweghị ka ejigharị ụdị index ndị dị otú ahụ ma mee ka index na-emepụta oge ọ bụla. A na-ebelata ọrụ nke iwulite index iji wuo ihe dị iche iche nke ọnọdụ abụọ na ịhazi ya site na ọnọdụ, nke nwere ike iwe ogologo oge maka nnukwu faịlụ mkpọ.

    Dị ka ihe atụ, ọrụ nke na-egosipụta ọdịnaya nke ihe, nke na-eji a kpọmkwem index, bụ 62 ugboro ngwa ngwa karịa ọrụ nke na-egosi size nke ihe, n'ihi na ọnọdụ-na-ihe mmekọrịta data e indexed. Mgbe ijiri ntụgharị ntụgharị, ọrụ ndị a malitere were ihe dịka otu oge. Ntugharị ntụgharị na-enye gị ohere ịme ngwa ngwa nke izipu ihe mgbe ị na-eme iwu mbute na ịkwanye site na ịnyefe data emebere na diski ozugbo.

    Sistemụ njikwa isi mmalite Git 2.41 dị

  • Nkwado agbakwunyere maka ịgafe isi WWW-Authenticate n'etiti onye na-ahụ maka nzere yana ọrụ nyocha na ụkpụrụ "onye inyeaka nzere" ejiri na-agafe nzere mgbe ị na-enweta ebe nchekwa amachibidoro. Nkwado maka nkụnye eji isi mee WWW-Authenticate na-enye ohere ka ịnyefe paramita nke OAuth ka ọ nweta ohere dị iche iche nke onye ọrụ na ebe nchekwa yana kpachie oghere dị maka arịrịọ.
  • Nhọrọ usoro agbakwunyere "%(n'ihu-n'azụ: )", nke na-enye gị ohere ịnweta ozi ozugbo banyere ọnụ ọgụgụ nke eme ugbu a ma ọ bụ na-anọghị n'otu alaka ụlọ ọrụ, n'akụkụ alaka ọzọ ( ole otu alaka dị n'azụ ma ọ bụ n'ihu ọzọ na ọkwa nke ime). Na mbụ, ịnweta ozi a chọrọ iwu abụọ dị iche iche: "git rev-list --count main..my-feature" iji nweta ọnụ ọgụgụ nke mmemme pụrụ iche na alaka ụlọ ọrụ, yana "git rev-list --count my-feature.. main" iji nweta nọmba efu na-eme. Ugbu a, enwere ike belata ngụkọ dị otú ahụ ka ọ bụrụ otu iwu, nke na-eme ka ndị na-ede akwụkwọ dị mfe ma na-ebelata oge igbu. Dịka ọmụmaatụ, iji gosi alaka ndị na-ejikọtaghị ọnụ wee nyochaa ma ha nọ n'azụ ma ọ bụ n'ihu alaka ụlọ ọrụ ha, ị nwere ike iji otu-liner: $ git for-each-ref --no-merged=origin/HEAD \ --format=' %(aha nzagharị: mkpirisi) %(n'ihu n'azụ: mmalite/Isi)' \ refs/heads/tb/ | kọlụm -t tb/cruft-extra-tips 2 96 tb/for-ref-ref—wepu 16 96 tb/roaring-bitmaps 47 3 kama ederede ejibu eme ihe, nke ji nwayọ nwayọ ugboro 17: $ git maka onye ọ bụla-ref - usoro ='%(aha ngbanwe: mkpụmkpụ)' --no-merged=si mmalite/ISI \ refs/isi/tb | mgbe ị na-agụ ref do ahead = "$(git rev-list --count origin/HEAD..$ref)" n'azụ = "$(git rev-list --count $ ref..origin/HEAD)" printf "%s %d %d\n" $ref" "$ n'ihu" "$ n'azụ" emere | kọlụm -t tb/cruft-extra-tips 2 96 tb/maka-ref ọ bụla—wepu 16 96 tb/mbibi-bitmaps 47 3
  • agbakwunyere nhọrọ "--porcelain" na "git fetch" iwu, nke na-ewepụta mmepụta n'ụdị " ”, enweghị ike ịgụ ya, mana ọ dabara adaba maka ịtụgharị na edemede.
  • Agbakwunyere "fetch.hideRefs" ntọala iji mee ka ọrụ "git fetch" dị ngwa site na izobe akụkụ nke njikọ dị na ebe nchekwa mpaghara na ọkwa nke ịlele ma ihe nkesa ahụ ezitere ihe n'uju, nke na-azọpụta oge site na ịmachi nlele ahụ na naanị sava. nke a na-enweta data ozugbo. Dịka ọmụmaatụ, mgbe ị na-anwale sistemụ nwere ebe nchekwa nke nwere ọnụ ọgụgụ dị ukwuu nke njikọ mpụga esoro, ewezuga njikọ niile ewezuga ndị a na-ezigara na ihe nkesa ebumnuche $ remote wedara ọrụ "git fetch" site na nkeji 20 ruo 30 sekọnd. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \ bute $remote
  • Iwu "git fsck" na-emejuputa ikike ịlele maka nrụrụ aka, dakọtara checksum na nhazi nke ụkpụrụ na bitmaps nnweta na ntụgharị ntụgharị.
  • Iwu "git clone --local" na-egosiputa njehie ugbu a mgbe ị na-agbalị iṅomi site na ebe nchekwa nwere njikọ ihe atụ n'ime $GIT_DIR.

isi: opennet.ru

Tinye a comment