Ho lokolloa ha sistimi e ajoang ea taolo ea mohloli Git 2.24

Fumaneha ho lokolloa ha mokhoa oa ho laola mohloli o ajoang git 2.24.0. 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 ipapisitseng le makala le ho kopanya. Ho netefatsa bonnete ba nalane le ho hanana le liphetoho tsa morao-rao, ho sebelisoa hashing e felletseng ea nalane eohle e fetileng boitlamo bo bong le bo bong, hape hoa khoneha ho netefatsa li-tag le boitlamo ka li-signature tsa dijithale tsa bahlahisi.

Ha ho bapisoa le tokollo e fetileng, phetolelo e ncha e kenyelelitse liphetoho tse 544, tse lokiselitsoeng ka ho kenya letsoho ha baetsi ba 78, bao 21 ba ileng ba kenya letsoho ntlafatsong ka lekhetlo la pele. ka sehloohong boiqapelo:

  • Ts'ehetso e ekelitsoeng bakeng sa li-macros tsa tlhophiso, eo ka eona u ka fetolang kapele lipakeng tsa li-setting tse fapaneng ntle le ho fana ka lintlha tse qaqileng mabapi le likhetho tse ikhethileng tse amanang le tsona. Ka thuso ea macros, ha ho hlokahale hore u hopole hore na ke litlhophiso life tse lokelang ho fetoloa ho kenya tšebetsong sena kapa ts'ebetso eo. Ka mohlala, haeba polokelo e kholo e tsamaea butle, u ka 'na ua batla ho fetohela ho enjine e ncha ea indexing, u nolofalletse khatello ea prefix ea tsela, 'me u nolofatse cache ea faele e sa lateloang ka ho beha index.version ho 4 le ho nolofalletsa core.untrackedCache. Macros e u lumella hore u se ke ua senya nako u batla tharollo e nepahetseng litokomaneng, empa hang-hang u kenye litlhophiso ka li-optimizations bakeng sa li-repositories tse nang le palo e kholo ea lifaele:

    git config feature.manyFiles ke 'nete

  • E nolofalitsoeng ke kamehla ke ho boloka lintho ka mokhoa oa graph (commit-graph), eo ho eona ho seng lethathamo la li-hashes tsa lintho tse nang le lihokelo tsa lintho tse ling, empa sebopeho sa sebopeho sa kerafo se sebelisetsoa indexing. . Haeba pele ho moo, e le hore u tsebe litokollo tse nang le tokiso e itseng, ho ne ho hlokahala ho kenya ntho e 'ngoe le e' ngoe ho tloha ho disk ho batla li-link, joale ha li bolokiloe ka mokhoa oa graph, u ka tseba hang-hang li-link tsohle tse hlokahalang. Ho fetohela polokelong ka mokhoa oa graph ea boitlamo ho Linux kernel le polokelo ea Git ho re lumelletse ho fihlela keketseho e batlang e imena habeli ts'ebetsong ea ts'ebetso le makala. Ho nolofalletsa mokhoa o mocha oa ho boloka ka mor'a ho ntlafatsa ho Git 2.24, o tlameha ho tsamaisa taelo "git gc".

    Har'a liphetoho tse amanang le graph-graph, re boetse re hlokomela hore ts'ebetsong ea pontšo ea tsoelo-pele ea ts'ebetso ho litaelo tse amanang le graph ("git commit-graph write", "git commit-graph verify", joalo-joalo) e tlisitsoe. ho mokhoa o tloaelehileng ka litaelo tse ling. . ). Letšoao la tsoelo-pele le se le bonts'oa feela bakeng sa terminal ka boiketsetso (sebelisa khetho ea "-[no-] tsoelo-pele" ho fetola boitšoaro). Ho phaella moo, ho kenyelitsoe parameter e ncha ea fetch.writeCommitGraph, e nolofalletsang ho ntlafatsa faele ka mokhoa o ikemetseng ka graph ea boitlamo nakong ea ts'ebetso ea "git fetch" (lintho tsohle tse nkiloeng ho tloha polokelong ea kantle li tla ea hang-hang ho etsa kerafo ntle le tlhokahalo ea tsamaisa auto-gc ka thoko);

  • E kentse taelo ea ho hlakola nalane ea phetoho - "git filter-repo", e leng mokhoa o bonolo ho feta oa taelo"lekala la git filter»ho etsa ts'ebetso nalaneng ea liphetoho sebakeng sa polokelo (mohlala, ho hlakola faele sebakeng sa polokelo kapa ho khutlisa nalane ea liphetoho bukeng e itseng). Ho ntlafatsa ts'ebetso e ntle, ho fapana le ho fana ka boitlamo ka mokhoa o hlophisehileng, git filter-repo e etsa ts'ebetso ho kemelo ea nalane ka mokhoa oa molapo o tsoelang pele.

    Ho sefa nalane ho etsoa ho sebelisoa khetho ea "-path-{glob,regex}", e u lumellang ho sebelisa limaske tse bonolo le mantsoe a tloaelehileng. Hape ho na le likhetho tsa ho batla le ho khutlisa kapa ho hloekisa lintho tse binary tse kholo ho feta boholo bo boletsoeng. Boitlamo bo bong le bo bong bo ngotsoeng bocha bo fanoa ka sets'oants'o se secha sa SHA-1 hash 'me litšupiso tsohle tsa boitlamo bo nketsoeng sebaka li ntlafatsoa ho latela sekhetho se secha.

    Ho bontša kakaretso ea lipalo-palo mabapi le polokelo (palo ea lintho ka mofuta, lifaele tse kholo ka ho fetisisa le li-directory, tseo li-extensions li hlokang sebaka se eketsehileng sa disk, joalo-joalo), khetho ea "-analyze" e fanoa. Ho holisa ts'ebetso, hoa khonahala ho hokahanya li-callback tsa Python, tseo ka tsona le ka thehang li-subcommands tse ncha le ho sebetsana le liketsahalo tse fapaneng (mohlala, mefuta e mecha ea lifaele);

  • E kenyellelitsoe "-end-of-options" khetho ea ho arola likhetho ho mabitso a lihokela, tse ka qalang ka sebopeho sa "-" 'me tsa tšoaroa joalo ka likhetho ("git log --end-of-options -super-dangerous-option" ). Haeba bophelong ba letsatsi le letsatsi mabitso a joalo a ka phonyoha e le "git log 'refs/heads/-super-dangerous-option'", joale mangolo a ka ba le mathata a ho hlalosa sebaka sa mabitso. Delimiter e amoheloang ka kakaretso "-" ha e sebetse tabeng ena, kaha e se e sebelisoa ho arola mabitso a lihokelo ho lifaele (mohlala, “git log —end-of-options —super-dangerous-option ^master — path/to /file”);
  • E kenyellelitsoe "--strategy" le "--strategy-option" ho "git rebase --rebase-merges" ho khetha maqheka a ho kopanya;
  • E kentse sebatli se secha sa ".git/hooks/pre-merge-commit" se bitsoang ka mor'a hore ho phethoe kopano empa pele sephetho se ngoloa;
  • Tšehetso ea ho tlatsa mefuta-futa ea litlhophiso mabapi le litlhophiso tsa litaelo tse khethehileng e kenyelelitsoe mochineng oa ho tlatsa taelo.
    Ka mohlala, haeba o hloka ho ngola “git -c core.autocrlf=false add path/to/my/file” empa o sa hopole hantle lebitso la “core.autocrlf”, o ka tobetsa Tab mme o fumane temoso.

Ho feta moo, bahlahisi ba Git eketsa melao ea boitšoaro bakeng sa morupeluoa oa morero, e hlalosang melao-motheo ea ho rarolla maemo a likhohlano. Tokomane e ipapisitse le likhothaletso "Selekane sa Mofani", e sebelisoang mererong e mengata e bulehileng ea mohloli, ho kenyelletsa le Linux kernel, Eclipse, Freedesktop, GitLab, Ruby le Kubernetes. Tokomane e hlalosa menyetla e lekanang bakeng sa barupeluoa bohle, ho sa tsotellehe pono ea bona ea lefatše, lilemo, bong, likhetho tsa bolumeli, boemo ba thuto, boemo ba sechaba le bochaba. Sechaba se amohela mokhoa oa botsoalle oa puisano, kutloisiso, kutloelo-bohloko bakeng sa mathata a barupeluoa ba bang, ho amohela ho nyatsuoa ho hahang, le ho etsa liqeto tse molemohali bakeng sa sechaba sohle. Trolling, puisano e khopisang, boiteko ba ho nyenyefatsa, ho hlekefetsa, tlōlo ea boinotšing, ho senola tlhahisoleseding ea botho, le liketso tse ling tse ka nkoang li sa tšoanelehe bakeng sa puisano ea setsebi ha lia lumelloa.

Source: opennet.ru

Eketsa ka tlhaloso