Git 2.39 sakin sarrafa tushen tushe

Bayan watanni biyu na haɓakawa, an fitar da tsarin sarrafa tushen rarraba Git 2.39. 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 wanda ya gabata, sabon sigar ya haɗa da canje-canje 483, wanda aka shirya tare da sa hannun masu haɓaka 86, waɗanda 31 suka shiga cikin haɓakawa a karon farko. Manyan sabbin abubuwa:

  • Umurnin “git shortlog”, wanda aka yi niyya don nuna taƙaitaccen bayani tare da kididdiga daga tarihin canje-canje, ya ƙara zaɓin “-group” don ƙungiyoyin ayyuka na sabani ta filayen da ba a iyakance ga marubuci ko mai aiwatarwa ba. Misali, don nuna jerin masu haɓakawa tare da bayani game da adadin canje-canje, la'akari da mataimakan da aka ambata a cikin filin "Co-authored-by", zaku iya amfani da umarnin: git shortlog -ns --group=author - -group=trailer:co-authored-by

    Za a iya haɗa fitar da gajerun hanyoyin ta hanyar amfani da ƙididdiga masu tsarawa, kuma zaɓin "--group" zai iya sauƙaƙe ƙirƙirar rahotanni masu rikitarwa da kuma kawar da buƙatar ƙarin umarni na rarrabawa. Misali, don ƙirƙirar rahoto tare da bayani game da nawa aka karɓa don sakin da aka bayar a kowane wata, zaku iya ƙayyade: git shortlog v2.38.0.. —date='tsara:%Y-%m' —group=' %. .. — kwanan wata = 'tsara:%Y -%m' -tsarin ='%cd' | irin | wani -c

  • Abubuwan da ake iya amfani da su na "kwayoyin fakitin cruft", an tsara su don tattara abubuwan da ba za a iya isa ba waɗanda ba a ambata a cikin ma'ajin (ba a yi la'akari da rassan ko alamun ba), an fadada su. 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. Tsarin "cruft packs" yana ba ku damar adana duk abubuwan da ba za a iya isa ba a cikin fakitin fakiti ɗaya, da kuma nuna bayanai kan lokacin gyare-gyare na kowane abu a cikin wani tebur daban, adana a cikin wani fayil daban tare da tsawo na ".mtimes", don su yi. ba zoba tare da jimlar lokacin gyarawa.

    Tsawon lokacin abubuwan da ba za a iya isar su ba su kasance a cikin ma'ajiyar kafin a share su an ƙaddara ta zaɓin “-prune=”. Koyaya, yayin da jinkirtawa kafin sharewa hanya ce mai inganci kuma mai amfani don hana cin hanci da rashawar ma'ajiya saboda yanayin tsere, ba abin dogaro bane 100%. Don sauƙaƙe don dawo da ma'ajin da aka lalace, sabon sakin yana ba da damar adana abubuwan da suka ɓace ta ƙara zaɓin "--expire-to" zuwa umarnin "git repack", wanda ke ba ku damar saka fayil don ƙirƙirar waje. kwafin duk abubuwan da aka goge. Misali, don adana abubuwan da ba za a iya kaiwa ba waɗanda basu canza ba a cikin mintuna 5 na ƙarshe a cikin fayil ɗin backup.git, zaku iya amfani da umarnin: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -zuwa = ../backup.git

  • Mahimmanci ya karu (har zuwa 70%) gudun aikin "git grep -cached" lokacin bincike a cikin yankunan da ke amfani da cloning na yanki (sparse-checkout) da kuma wanda akwai fihirisar juzu'i (fihirisar index). A baya can, lokacin da aka ƙayyade zaɓi na "-cached", an fara binciken farko a cikin ma'auni na yau da kullum, sa'an nan kuma a cikin sassan, wanda ya haifar da jinkirin jinkiri lokacin bincike a cikin manyan ɗakunan ajiya.
  • Tabbatar da uwar garken na haɗin kai na sababbin abubuwa kafin a sanya su a cikin ma'ajiya yayin aikin "git push" an ƙara haɓaka. Ta hanyar canzawa zuwa lissafin hanyoyin haɗin yanar gizon da aka bayyana kawai lokacin dubawa, a cikin ma'ajiyar gwaji tare da hanyoyin haɗin kai miliyan 7, waɗanda kawai 3% ke rufewa ta hanyar turawa, haɓakawar da aka yi yana ba da damar rage lokacin dubawa da sau 4.5.
  • Don karewa daga yuwuwar yawan adadin lamba a cikin lambar, umarnin "git apply" yana iyakance iyakar girman facin da za'a iya sarrafawa. Idan girman facin ya wuce 1 GB, yanzu za a nuna kuskure.
  • Don karewa daga yuwuwar lahani, an yi canje-canje don tsaftace bayanan da ba dole ba daga abubuwan da aka saita yayin amfani da tsarin h2h3 tare da zaɓin GIT_TRACE_CURL=1 ko GIT_CURL_VERBOSE=1 tare da HTTP/2.
  • Lokacin yin bincike kan reshe mai alamar haɗin gwiwa zuwa wani reshe, umarnin "git symbolic-ref HEAD" yanzu yana nuna sunan reshen da aka yi niyya maimakon sunan alamar alamar.
  • Ƙara goyon baya ga hujjar @{-1} zuwa zaɓin "-edit-description" ("reshen git —edit-description @{-1}") don gyara bayanin reshe da ya gabata.
  • An ƙara umarnin "git merge-tree --stdin" don ƙaddamar da jerin sigogi ta hanyar shigar da daidaitattun bayanai.
  • A tsarin fayilolin cibiyar sadarwa, fsmonitor mai kula da, wanda ke sa ido kan canje-canje a cikin tsarin fayil, an kashe shi ta tsohuwa.

source: budenet.ru

Add a comment