Ntọhapụ njikwa isi mmalite Git 2.39

Mgbe ọnwa abụọ nke mmepe gasịrị, ewepụtala sistemụ njikwa isi mmalite Git 2.39. Git bụ otu n'ime usoro njikwa ụdị kachasị ewu ewu, ntụkwasị obi na arụmọrụ dị elu, na-enye ngwaọrụ mmepe na-abụghị nke kwụ ọtọ dabere na ngalaba na ijikọ. Iji hụ na iguzosi ike n'ezi ihe nke akụkọ ihe mere eme na iguzogide mgbanwe mgbanwe, a na-eji hashing nke akụkọ ihe mere eme gara aga eme ihe na ntinye nke ọ bụla, ọ ga-ekwe omume iji mbinye aka dijitalụ nke ndị mmepe mee ya.

E jiri ya tụnyere ntọhapụ gara aga, ụdị ọhụrụ ahụ gụnyere mgbanwe 483, nke a kwadebere na ntinye nke ndị mmepe 86, nke 31 so na mmepe maka oge mbụ. Isi ihe ọhụrụ:

  • Iwu “git shortlog”, nke emebere iji gosipụta nchịkọta yana ọnụ ọgụgụ sitere na akụkọ mgbanwe, agbakwunyela nhọrọ “-group” maka ịchịkọta ihe aka ike site na mpaghara na-ejedebeghị na onye ode akwụkwọ ma ọ bụ onye na-eme mkpebi. Dịka ọmụmaatụ, iji gosipụta ndepụta nke ndị mmepe nwere ozi gbasara ọnụọgụ mgbanwe, na-eburu n'uche ndị enyemaka a kpọtụrụ aha na mpaghara "Co-authored-by", ị nwere ike iji iwu a: git shortlog -ns --group=author - -otu = trailer: onye na-ede akwụkwọ

    Enwere ike chịkọta mmepụta mkpirisi site na iji nhazi nhazi, na nhọrọ "--group" nwere ike ime ka ịmepụta akụkọ dị mgbagwoju anya dị mfe ma wepụ mkpa maka nhazi nhazi ọzọ. Dịka ọmụmaatụ, iji mepụta akụkọ nwere ozi gbasara ole ntinye aka maka ntọhapụ enyere anabatara n'ọnwa ọ bụla, ị nwere ike ezipụta: git shortlog v2.38.0.. —date='ụdị:%Y-%m' —group=' %. .. —date='ụdị:%Y -%m' —usoro ='%cd' | ụdị | onye -c

  • Расширены возможности механизма «cruft packs», предназначенного для упаковки недостижимых объектов, на которые в репозитории отсутствуют ссылки (не ссылаются ветки или теги). Недостижимые объекты удаляются сборщиком мусора, но до удаления определённое время остаются в репозитории для исключения состояний гонки. Механизм «cruft packs» позволяет хранить все недостижимые объекты в одном pack-файле, а данные о времени модификации каждого объекта отражать в отдельной таблице, хранимой в отдельном файле с расширением «.mtimes», что бы они не пересекались с общим временем изменения.

    Ogologo oge ihe ndị a na-apụghị irute na-anọ na ebe nchekwa tupu ihichapụ ha n'ezie bụ nhọrọ "-prune=" kpebiri. " Otú ọ dị, ka ị na-egbu oge tupu ihichapụ bụ ụzọ dị irè na nke bara uru iji gbochie nrụrụ aka nrụrụ aka n'ihi ọnọdụ agbụrụ, ọ bụghị 100% nke a pụrụ ịdabere na ya. Iji mee ka ọ dịkwuo mfe iweghachi ebe nchekwa mebiri emebi, ntọhapụ ọhụrụ ahụ na-enye ikike ịchekwa ihe ndị na-efu site na ịgbakwunye nhọrọ "- expire-to" na iwu "git repack", nke na-enye gị ohere ịkọwa faịlụ iji mepụta mpụga. oyiri ihe niile ehichapụrụ. Dịka ọmụmaatụ, iji chekwaa ihe a na-apụghị irute nke na-agbanwebeghị na nkeji 5 ikpeazụ na faịlụ backup.git, ị nwere ike iji iwu a: git repack --cruft --cruft-expiration=5.minutes.ago -d - expire -ga = ../backup.git

  • Na-abawanye nke ọma (ruo 70%) ọsọ nke ọrụ "git grep -cached" mgbe ị na-achọ ebe a na-eji cloning akụkụ (sparse-checkout) na nke e nwere ihe nrịbama akụkụ (ntụgharị uche). Na mbụ, mgbe a na-akọwa nhọrọ "-cached", a na-eme nchọpụta ahụ na mbụ na ndenye aha mgbe niile, na nke a na-ahụ anya, nke mere ka a na-ahụ anya na-egbu oge mgbe ị na-achọ na nnukwu ebe nchekwa.
  • Nnwale nke ihe nkesa nke njikọta nke ihe ọhụrụ tupu etinye ya na ebe nchekwa n'oge ọrụ "git push" agbagoro ngwa ngwa. Site n'ịtụgharị na ndekọ maka naanị njikọ ekwupụtala mgbe ị na-enyocha, na ebe nchekwa ule nwere njikọ nde 7, nke naanị 3% na-ekpuchi site na ọrụ ntinye, nkwalite ndị ewepụtara mere ka o kwe omume ibelata oge nlele site na ugboro 4.5.
  • Iji chebe megide integer nwere ike ijupụta na koodu ahụ, iwu "git apply" na-amachi oke patches nke enwere ike ịhazi ya. Ọ bụrụ na nha patch ahụ karịrị 1 GB, a ga-egosipụta njehie ugbu a.
  • Для защиты от потенциальных уязвимостей внесены изменения для чистки лишней информации из заголовков, выставляемых при использовании модуля h2h3 с опцией GIT_TRACE_CURL=1 или GIT_CURL_VERBOSE=1 вместе с HTTP/2.
  • При выполнении операции check out с веткой, которая является символической ссылок на другую ветку, команда «git symbolic-ref HEAD» теперь выводит название целевой ветки, а не имя символической ссылки.
  • agbakwunyere nkwado maka arụmụka @{-1} na nhọrọ "--edit-description" ("git branch —edit-description @{-1}") maka idezi nkọwa nke alaka gara aga.
  • Agbakwunyere iwu "git merge-tree --stdin" ka ịfefe ndepụta parampat site na ntinye ọkọlọtọ.
  • Na sistemụ faịlụ netwọkụ, onye na-ahụ maka fsmonitor, nke na-enyocha mgbanwe na sistemụ faịlụ, nwere nkwarụ site na ndabara.

isi: opennet.ru

Tinye a comment