Sistimi ea taolo ea mohloli oa Git 2.41 e fumaneha

Kamora likhoeli tse tharo tsa nts'etsopele, sistimi e ajoang ea taolo ea mohloli Git 2.41 e lokollotsoe. Git ke e 'ngoe ea litsamaiso tse tsebahalang haholo, tse tšepahalang le tse sebetsang hantle haholo, tse fanang ka lisebelisoa tse feto-fetohang tsa nts'etsopele tse se nang moeli tse thehiloeng ho makala le ho kopanya. Ho netefatsa bonnete ba nalane le khanyetso ea liphetoho tsa morao-rao, hashing e felletseng ea nalane eohle e fetileng e sebelisoa boitlamo bo bong le bo bong; hoa khoneha hape ho netefatsa li-tag le ho itlama ka li-signature tsa dijithale tsa bahlahisi.

Ha ho bapisoa le tokollo e fetileng, phetolelo e ncha e kenyelelitse liphetoho tse 542, tse lokiselitsoeng ka ho kenya letsoho ha baetsi ba 95, bao ba 29 ba ileng ba kenya letsoho ntlafatsong ka lekhetlo la pele. Lintho tse ncha tse ka sehloohong:

  • Ts'ebetso e ntlafetseng ea lintho tse ke keng tsa fihleloa tse sa boleloang sebakeng sa polokelo (tse sa boleloang ke makala kapa li-tag). Lintho tse sa fihlelleheng li hlakoloa ke moqokeleli oa lithōle, empa li lule sebakeng sa polokelo ka nako e itseng pele li hlakoloa ho qoba maemo a morabe. Ho latela nako ea ho hlaha ha lintho tse ke keng tsa fihleloa, ho hlokahala hore u kenye li-tag ho tsona ka nako ea phetoho ea lintho tse tšoanang, tse sa lumelleng ho li boloka ka faeleng e le 'ngoe ea pakete eo lintho tsohle li nang le nako ea phetoho e tloaelehileng. Nakong e fetileng, ntho e 'ngoe le e' ngoe e ke keng ea fumanoa e ne e bolokiloe faeleng e arohaneng, e leng se ileng sa lebisa mathateng ha ho ne ho e-na le lintho tse ngata tse ncha tse sa fumaneheng tse neng li e-s'o lokele ho tlosoa. Phatlalatsong e ncha, mochine oa "cruft packs" o sebelisoa ka ho sa feleng bakeng sa ho paka lintho tse ke keng tsa fumanoa, e leng se u lumellang hore u boloke lintho tsohle tse ke keng tsa fumanoa ka faeleng e le 'ngoe ea pakete,' me data ka nako ea phetoho ea ntho ka 'ngoe e bontšoa tafoleng e arohaneng, e bolokiloeng. faeleng e nang le katoloso ea ".mtimes" 'me e hoketsoe ho sebelisoa faele ea index e nang le ".idx".
    Sistimi ea taolo ea mohloli oa Git 2.41 e fumaneha
  • Ho boloka index ea reverse ho disk bakeng sa lifaele tsa pakete ho nolofalitsoe ke kamehla. Ha ho etsoa liteko sebakeng sa polokelo ea li-torvalds/linux, tšebeliso ea index ea reverse e entse hore ho khonehe ho potlakisa ts'ebetso e matla ea "git push" ka makhetlo a 1.49, le ts'ebetso e bonolo joalo ka ho bala boholo ba ntho e le 'ngoe u sebelisa "git cat- faele —batch='%(objectsize:disk)' "makhetlo a 77. Lifaele (“.rev”) tse nang le index ea reverse li tla bolokoa ka har'a polokelo bukeng ea ".git/objects/pack".

    Hopola hore Git e boloka data eohle ka mokhoa oa lintho, tse fumanehang ka lifaele tse arohaneng. Ho eketsa bokhoni ba ho sebetsa le polokelo, lintho li kenngoa ka har'a lifaele tsa pakete, moo tlhahisoleseling e hlahisoang ka mokhoa oa lintho tse latelang tse ling (mofuta o ts'oanang o sebelisoa ha o fetisetsa lintho ka git fetch le git push. ditaelo). Bakeng sa faele e 'ngoe le e' ngoe ea pakete, ho entsoe faele ea index (.idx) e u lumellang hore u tsebe ho tseba ka potlako ho fokotsa ho pakete eo ntho e fanoeng e bolokiloeng ho eona ho sebelisoa ntho e khethollang.

    Lenane la morao-rao le kenyellelitsoeng tokollong e ncha le reretsoe ho ntlafatsa mokhoa oa ho khetholla ntho e khethollang ho tsoa tlhahisoleseling mabapi le ho beoa ha ntho faeleng ea pakete. Nakong e fetileng, phetoho e joalo e ne e etsoa ka fofa ha e ntse e arola faele ea pakete 'me e ne e bolokiloe mohopolong feela, e neng e sa lumelle hore li-index tse tšoanang li sebelisoe hape le ho qobella index hore e hlahisoe nako le nako. Ts'ebetso ea ho aha index e theohela ho ho aha mefuta e mengata ea lipara tsa boemo ba ntho le ho e hlophisa ka boemo, e ka nkang nako e telele bakeng sa lifaele tse kholo tsa pakete.

    Mohlala, ts'ebetso ea ho bonts'a litaba tsa lintho, e sebelisang index e tobileng, e ne e potlakile ka makhetlo a 62 ho feta ts'ebetso ea ho bonts'a boholo ba lintho, tseo data ea boemo-ho-ntho e sa kang ea ngolisoa. Ka mor'a ho sebelisa reverse index, ts'ebetso ena e ile ea qala ho nka nako e batlang e tšoana. Li-index tsa morao-rao li boetse li u lumella ho potlakisa ts'ebetso ea ho romella ntho ha u etsa litaelo tsa ho lata le ho sutumelletsa ka ho fetisa data e seng e entsoe ka kotloloho ho tsoa ho disk.

    Sistimi ea taolo ea mohloli oa Git 2.41 e fumaneha

  • Protocol ea "credential helper", e sebelisetsoang ho fetisetsa mangolo a boitsebiso ha u fihla lipolokelong tse nang le phihlello e fokolang, e ekelitse tšehetso ea ho fetisa lihlooho tsa WWW-Authenticate pakeng tsa mohlokomeli oa boitsebiso le tšebeletso eo bopaki bo etsoang ho eona. Ts'ehetso bakeng sa hlooho ea WWW-Authenticate e u lumella ho fetisa liparamente tsa scope tsa OAuth bakeng sa karohano e hlakileng haholoanyane ea phihlello ea mosebelisi ho polokelo ea polokelo le tlhophiso ea skoupu e fumanehang bakeng sa likopo.
  • Khetho ea ho fometa e kenyellelitsoeng "% (pele-ka morao:" ho taelo ea-ref-ref: )", e u lumellang ho fumana hanghang tlhahisoleseling mabapi le palo ea boitlamo bo teng kapa bo le sieo lekaleng le itseng, le amanang le lekala le leng (hore na lekala le le leng le ka morao kapa le ka pele ho le leng boemong ba boitlamo). Pele, ho fumana tlhahisoleseling e joalo, o ne o hloka ho tsamaisa litaelo tse peli tse arohaneng: "git rev-list -count main..my-feature" ho fumana palo ea likopo tse ikhethileng lekaleng le "git rev-list -count my-feature" ..main” ho fumana palo e sieo boitlamo. Hona joale lipalo tse joalo li ka fokotsoa hore e be taelo e le 'ngoe, e nolofatsang ho ngoloa ha batšoasi le ho fokotsa nako ea ho phethahatsa. Mohlala, ho bontša makala a so kang a kopanngoa le ho lekola hore na a ka morao kapa a ka pele ho lekala le leholo, o ka sebelisa mohala o le mong: $ git for-each-ref -no-merged=origin/HEAD \ -format ='%(refname: khutšoanyane) %(pele-morao :origin/HEAD)' \refs/heads/tb/ | kholomo -t tb/cruft-extra-tips 2 96 tb/for-each-ref—exclude 16 96 tb/roaring-bitmaps 47 3 sebakeng sa mongolo o neng o sebelisoa pele, o matha butle ka makhetlo a 17: $ git for-each-ref — sebopeho='%(refname: khutšoanyane)' —no-merged=origin/ HEAD \ refs/heads/tb | ha u ntse u bala ref etsa pele = "$ (git rev-list -count origin/HEAD..$ref)" ka morao = "$(git rev-list -count $ref..origin/HEAD)" printf "%s %d %d\n" "$ref" "$ahead" "$kamorao" e entsoe | kholomo -t tb/cruft-extra-tips 2 96 tb/for-ea-ref-ref-khetha 16 96 tb/roaring-bitmaps 47 3
  • Khetho ea "-porcelain" e kenyellelitsoe taelong ea "git fetch", ha e hlalositsoe, tlhahiso e hlahisoa ka sebopeho " ", ha e balehe, empa e bonolo haholoanyane bakeng sa ho arola mangolong.
  • E kentse "fetch.hideRefs", e u lumellang ho potlakisa ts'ebetso ea "git fetch" ka ho pata tse ling tsa litšupiso sebakeng sa polokelo ea lehae sebakeng sa ho hlahloba hore na seva e rometse lintho tse ngata, tse bolokang nako ho fokotsa cheke feela ho li-server tseo data e nkiloeng ho tsona ka kotloloho. Mohlala, ha o etsa tlhahlobo ho sistimi e nang le polokelo e nang le palo e kholo ea likhokahano tsa kantle tse lateloang, ho sa kenyeletsoe lihokelo tsohle ntle le tse lebisitsoeng ho seva se lebisitsoeng ho $remote ho fokotsa ts'ebetso ea ts'ebetso ea git ho tloha metsotsong e 20 ho isa ho metsotsoana e 30. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$refs \ lata $hole
  • Taelo ea "git fsck" e fana ka bokhoni ba ho lekola bobolu, ho latela melao ea checksum, le ho nepahala ha boleng ho li-bitmaps tsa phihlello le li-index tsa morao-rao.
  • Taelo ea "git clone --local" joale e bonts'a phoso ha u leka ho kopitsa ho tsoa polokelong e nang le li-symlink ka hare ho $GIT_DIR.

Source: opennet.ru

Eketsa ka tlhaloso