Git 2.37 sakin sarrafa tushen tushe

An sanar da sakin tsarin sarrafa tushen rarraba Git 2.37. Git yana ɗaya daga cikin mafi mashahuri, abin dogaro da tsarin sarrafa nau'ikan ayyuka masu inganci, yana ba da sassauƙan kayan aikin haɓaka marasa daidaituwa dangane da reshe da haɗuwa. Don tabbatar da amincin tarihi da juriya ga sauye-sauye na dawowa, ana amfani da hashing na tarihin da ya gabata a cikin kowane alƙawari; Hakanan yana yiwuwa a tabbatar da alamun kowane mutum da aikatawa tare da sa hannun dijital na masu haɓakawa.

Idan aka kwatanta da sakin da ya gabata, an karɓi 395 canje-canje a cikin sabon sigar, wanda aka shirya tare da halartar masu haɓaka 75, waɗanda 20 suka shiga cikin haɓakawa a karon farko. Manyan sabbin abubuwa:

  • Na'urar firikwensin juzu'i (fididdigar tazara), wanda ke rufe ɓangaren ma'ajiyar, an shirya don amfani da yawa. Fihirisar juzu'i na iya haɓaka aiki da adana sarari a cikin ma'ajin da ke aiwatar da ayyukan cloning na ɗan lokaci ko aiki tare da kwafin da bai cika ba. Sabuwar fitowar ta kammala haɗewar fihirisar juzu'i cikin nunin git, git sparse-checkout, da umarnin git stash. Ana ganin fa'idar aiki mafi fa'ida ta amfani da fihirisar juzu'i tare da umarnin git stash, wanda ya ga karuwar 80% cikin saurin aiwatarwa a wasu yanayi.
  • An aiwatar da wani sabon tsarin "kwayoyin cruft" don tattara abubuwan da ba za a iya isa ba waɗanda ba a ambata a cikin ma'ajin (ba a yi magana da rassa ko alamomi ba). Masu tara shara suna goge abubuwan da ba za a iya isarsu ba, amma su kasance cikin wurin ajiyar na wani ɗan lokaci kafin a goge su don guje wa yanayin tsere. Don yin la'akari da lokacin faruwar abubuwan da ba za a iya isa ba, dole ne a haɗa tags zuwa gare su tare da lokacin canjin abubuwa masu kama, wanda ba ya ba da damar adana su a cikin fakitin fakitin guda ɗaya wanda duk abubuwa suna da lokacin canji na yau da kullun. A baya can, adana kowane abu a cikin fayil ɗin daban ya haifar da matsaloli lokacin da akwai adadi mai yawa na sabo, abubuwan da ba za a iya isa ba waɗanda har yanzu ba su cancanci gogewa ba. Tsarin "cruft packs" da aka tsara yana ba ku damar adana duk abubuwan da ba za a iya isa ba a cikin fakitin fakiti ɗaya, da kuma yin la'akari da bayanai kan lokacin gyare-gyare na kowane abu a cikin wani tebur daban da aka adana a cikin fayil tare da tsawo na ".mtimes".
  • Don Windows da macOS, akwai ingantacciyar hanyar don bin diddigin canje-canje a cikin tsarin fayil, yana ba ku damar guje wa yin amfani da duk jagorar aiki yayin aiwatar da ayyuka kamar “git status”. A baya can, don waƙa da canje-canje, abubuwan amfani na waje don bin diddigin canje-canje a cikin FS, kamar Watchman, ana iya haɗa su ta ƙugiya, amma wannan yana buƙatar shigar da ƙarin shirye-shirye da daidaitawa. Yanzu an gina ƙayyadadden aikin kuma ana iya kunna shi tare da umarnin "git config core.fsmonitor gaskiya".
  • A cikin umarnin “git sparse-checkout”, tallafi don madadin yanayin “—mazugi”, an ayyana hanyar ayyana samfura don ɓangarori na ɓangarori, wanda ke ba da izini, lokacin ƙayyade ɓangaren ma'ajiyar da ke ƙarƙashin aikin cloning, don lissafin fayiloli guda ɗaya ta amfani da ma'anar ".gitignore", wanda baya ba da izinin amfani don haɓaka juzu'i na ɓangarori.
  • Ƙara sassauci a saita fsync() kira don zubar da canje-canje zuwa faifai. An ƙara goyon bayan dabarun daidaitawa na "batch" zuwa ma'auni na "core.fsyncMethod", wanda ke ba da damar hanzarta aiki lokacin rubuta babban adadin fayilolin mutum ta hanyar tara canje-canje a cikin cache na rubutawa, wanda aka sake saita ta fsync guda () kira. Gwajin, wanda ya haifar da ƙara fayiloli 500 ta amfani da umarnin "git add", an kammala shi a cikin daƙiƙa 0.15 lokacin da aka kunna sabon yanayin, yayin da kiran fsync () ya ɗauki 1.88 seconds ga kowane fayil, kuma ba tare da amfani da fsync - 0.06 seconds ba.
  • Umarnin wucewa na reshe kamar "git log" da "git rev-list" yanzu suna da zaɓi "-since-as-filter=X" wanda ke ba ku damar tace bayanai game da aikatawa waɗanda suka girmi "X". Ba kamar zaɓin “—tun” ba, ana aiwatar da sabon umarnin azaman tacewa wanda baya dakatar da binciken bayan ƙaddamarwa ta farko fiye da ƙayyadadden lokacin.
  • A cikin umarnin "git remote", lokacin da aka ƙayyade tutar "-v", ana nuna bayani game da ɓangarori na ma'ajin.
  • An ƙara saitin "transfer.credentialsInUrl", wanda zai iya ɗaukar ƙimar "gargaɗi", "mutu" da "ba da izini". Idan an ƙayyade a cikin sigar “remote. .url" bayanan bayanan, ƙoƙarin yin aikin "kawo" ko "turawa" zai gaza tare da kuskure idan an saita saitin "transfer.credentialsInUrl" zuwa "mutu", ko gargadi idan an saita zuwa "gargadi".
  • Ta hanyar tsoho, sabon aiwatar da yanayin mu'amala na umarnin "git add -i", wanda aka sake rubutawa daga Perl zuwa C, yana kunna.

source: budenet.ru

Add a comment