Tokollo ea taolo ea mohloli oa Git 2.37

Ho phatlalatsoa ha sistimi ea taolo ea mohloli e phatlalalitsoeng Git 2.37. 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 kenyelletsa liphetoho tse 395, tse lokiselitsoeng ka ho kenya letsoho ha baetsi ba 75, bao 20 ba ileng ba kenya letsoho ntlafatsong ka lekhetlo la pele. Lintho tse ncha tse ka sehloohong:

  • Mokhoa oa li-index tse sa fellang (sparse index), tse koahelang karolo feela ea polokelo, o se o lokiselitsoe ho sebelisoa hohle. Li-index tse sa fellang li ka ntlafatsa ts'ebetso le ho boloka sebaka libakeng tsa polokelo tse etsang mesebetsi e sa fellang ea cloning (sparse-checkout) kapa tsa sebetsa ka kopi e sa fellang ea polokelo. Tokollo e ncha e phethela ho kopanngoa ha li-index tse sa fellang lenaneong la git, git sparse-checkout, le litaelo tsa git stash. Molemo o hlokomelehang oa ts'ebetso ka ho sebelisa li-index tse sa fellang o bonoa ka taelo ea git stash, e boneng keketseho ea 80% ea lebelo la ts'ebetso maemong a mang.
  • Mokhoa o mocha oa "cruft packs" o kentsoe ts'ebetsong bakeng sa ho paka lintho tse sa fihlelleheng 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, ho boloka ntho e 'ngoe le e' ngoe faeleng e arohaneng ho lebisitse mathateng ha ho ne ho e-na le lintho tse ngata tse ncha, tse sa fihleheng tse neng li e-s'o lokele ho hlakoloa. Mokhoa o reriloeng oa "cruft packs" o u lumella ho boloka lintho tsohle tse ke keng tsa finyelloa faeleng e le 'ngoe ea pakete, le ho bonahatsa data ka nako ea phetoho ea ntho e' ngoe le e 'ngoe tafoleng e arohaneng e bolokiloeng faeleng e nang le ".mtimes" extension.
  • Bakeng sa Windows le macOS, ho na le mochini o hahelletsoeng ka hare oa ho latedisa liphetoho tsamaisong ea faele, o o lumellang ho qoba ho pheta-pheta bukeng eohle ea ho sebetsa ha o etsa lits'ebetso tse joalo ka "git status". Nakong e fetileng, ho latela liphetoho, lits'ebeletso tsa kantle bakeng sa ho latela liphetoho ho FS, joalo ka Watchman, li ne li ka hokeloa ka li-hook, empa sena se ne se hloka hore ho kenngoe mananeo a eketsehileng le tlhophiso. Hona joale ts'ebetso e boletsoeng e hahiloe 'me e ka nolofalloa ka taelo ea "git config core.fsmonitor true".
  • Taelong ea "git sparse-checkout", ts'ehetso bakeng sa mokhoa o mong oa "-cone", mokhoa oa ho hlalosa litempele tsa cloning e sa sebetseng, e phatlalalitsoe e se e sa sebetse, e lumellang, ha ho khethoa karolo ea polokelo e tlas'a ts'ebetso ea cloning, ho thathamisa lifaele ka bomong ho sebelisa syntax ea ".gitignore", e sa lumelleng tšebeliso ea ho ntlafatsa likarolo tse itseng.
  • Ho feto-fetoha ha maemo ha ho lokisoa mohala oa fsync() ho fetola liphetoho ho disk. Ts'ehetso bakeng sa leano la "batch" la ho hokahanya e kenyelelitsoe ho "core.fsyncMethod" parameter, e lumellang ho potlakisa mosebetsi ha u ngola palo e kholo ea lifaele ka bomong ka ho bokella liphetoho ho cache ea ho ngola, e hlophisitsoeng hape ke fsync e le 'ngoe () letsa. Teko, e entseng hore lifaele tse 500 li eketsoe ho sebelisoa taelo ea "git add", e phethetsoe ka metsotsoana e 0.15 ha mokhoa o mocha o ne o le teng, ha ho letsetsa fsync() ho nkile metsotsoana e 1.88 bakeng sa faele ka 'ngoe, ntle le ho sebelisa fsync - metsotsoana e 0.06 .
  • Litaelo tsa ho potoloha ha lekala joalo ka "git log" le "git rev-list" joale li na le khetho "-since-as-filter=X" e u lumellang ho sefa tlhahisoleseling mabapi le boitlamo bo boholo ho feta "X". Ho fapana le khetho ea "-ho tloha", taelo e ncha e kengoa ts'ebetsong e le filthara e sa emiseng patlo ka mor'a hore motho oa pele a ikemisetse ho feta nako e behiloeng.
  • Taelong ea "git remote", ha ho hlakisoa folakha ea "-v", tlhahisoleseling mabapi le li-clones tse sa fellang tsa polokelo e hlahisoa.
  • E kentse "transfer.credentialsInUrl" setting, e ka nkang "temoso", "die" le "lumella". Haeba u hlakisa mangolo a hlakileng a mangolong a "remote..url", boiteko ba ho etsa mesebetsi ea "fetch" kapa "push" bo tla fella ka phoso haeba peakanyo ea "transfer.credentialsInUrl" e behiloe ho "die" , kapa temoso haeba e setiloe "temoso" boleng.
  • Ka nako e sa lekanyetsoang, ts'ebetsong e ncha ea mokhoa oa ho sebelisana oa taelo ea "git add -i", e ngotsoeng bocha ho tloha Perl ho ea ho C, e nolofalitsoe.

Source: opennet.ru

Eketsa ka tlhaloso