Git 2.39 вСрсия Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ°

Π‘Π»Π΅Π΄ Π΄Π²Π° мСсСца Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° систСма Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° ΠΊΠΎΠ΄Π° Git 2.39 бСшС пусната. Git Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Π½Π°ΠΉ-популярнитС, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ високопроизводитСлни систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС, прСдоставяща гъвкави Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΈ инструмСнти Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° разклоняванС ΠΈ сливанС. Π—Π° Π΄Π° сС осигури цСлостта Π½Π° историята ΠΈ устойчивостта Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ със Π·Π°Π΄Π½Π° Π΄Π°Ρ‚Π°, във всСки ΠΊΠΎΠΌΠΈΡ‚ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° цялата ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π° история; ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ възмоТно Π΄Π° сС удостовСрят ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅.

Π’ сравнСниС с ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° вСрсия, Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π²ΠΊΠ»ΡŽΡ‡Π²Π° 483 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ с участиСто Π½Π° 86 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ 31 са участвали Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚. Основни ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€œgit shortlog”, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ€Π΅Π·ΡŽΠΌΠ΅Ρ‚Π° със статистика ΠΎΡ‚ историята Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° опция β€œ-group” Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ ΠΏΠΎ ΠΏΠΎΠ»Π΅Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΄ΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΈΡ‚Π°Ρ‚ΠΎΡ€. НапримСр, Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ списък с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ с информация Π·Π° броя Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ†ΠΈΡ‚Π΅, спомСнати Π² ΠΏΠΎΠ»Π΅Ρ‚ΠΎ "Π‘ΡŠΠ°Π²Ρ‚ΠΎΡ€ ΠΎΡ‚", ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°: git shortlog -ns --group=author - -group=trailer:co-authored-by

    Π˜Π·Ρ…ΠΎΠ΄ΡŠΡ‚ ΠΎΡ‚ Shortlog ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° спСцификатори Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°Π½Π΅, Π° опцията β€ž--groupβ€œ ΠΌΠΎΠΆΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° опрости ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° слоТни ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ ΠΈ Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ нСобходимостта ΠΎΡ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° сортиранС. НапримСр, Π·Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ с информация Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° Π΄Π°Π΄Π΅Π½Π° вСрсия са ΠΏΡ€ΠΈΠ΅Ρ‚ΠΈ всСки мСсСц, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС: git shortlog v2.38.0.. β€”date='format:%Y-%m' β€”group=' %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° опСрация, Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° сортиранС ΠΈ uniq: git log v2.38.0 .. β€”date='format:%Y -%m' β€”format='%cd' | сортиранС | ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ -c

  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° β€žcruft packsβ€œ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са посочСни Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ (Π½Π΅ са посочСни ΠΎΡ‚ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅), са Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ. ΠΠ΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈΡ‚Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ€Π°Ρ‡Π° Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ, Π½ΠΎ остават Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ условия Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ β€žcruft packsβ€œ Π²ΠΈ позволява Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ всички Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ Ρ„Π°ΠΉΠ» ΠΈ Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° модификация Π½Π° всСки ΠΎΠ±Π΅ΠΊΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½Π° Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ„Π°ΠΉΠ» с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ β€ž.mtimesβ€œ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΄Π° Π½Π΅ сС ΠΏΡ€ΠΈΠΏΠΎΠΊΡ€ΠΈΠ²Π° с ΠΎΠ±Ρ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° модификация.

    ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΏΡ€Π΅Π· ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈΡ‚Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ остават Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ дСйствитСлно ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ, сС опрСдСля ΠΎΡ‚ опцията β€žβ€”prune=β€œ " Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ забавянСто ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π΅ доста Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° прСдотвратяванС Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ условия Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅, Ρ‚ΠΎ Π½Π΅ Π΅ 100% Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ. Π—Π° Π΄Π° улСсни Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π½ΠΎΠ²Π°Ρ‚Π° вСрсия прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° липсващи ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Ρ‡Ρ€Π΅Π· добавянС Π½Π° опцията β€ž--expire-toβ€œ към ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žgit repackβ€œ, която Π²ΠΈ позволява Π΄Π° посочитС Ρ„Π°ΠΉΠ» Π·Π° създаванС Π½Π° външСн ΠΊΠΎΠΏΠΈΠ΅ Π½Π° всички ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ. НапримСр, Π·Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са сС промСняли ΠΏΡ€Π΅Π· послСднитС 5 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ във Ρ„Π°ΠΉΠ»Π° backup.git, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -to=../backup.git

  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° (Π΄ΠΎ 70%) скоростта Π½Π° опСрацията "git grep -cached" ΠΏΡ€ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² области, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ частично ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Π½Π΅ (sparse-checkout) ΠΈ Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ° частични индСкси (sparse index). ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈ посочванС Π½Π° опцията β€ž-cachedβ€œ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΡˆΠ΅ ΠΏΡŠΡ€Π²ΠΎ Π² обикновСния индСкс, Π° слСд Ρ‚ΠΎΠ²Π° Π² частичнитС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ забавяния ΠΏΡ€ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° кохСрСнтността Π½Π° Π½ΠΎΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΏΡ€Π΅Π΄ΠΈ Ρ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ поставСни Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° опСрацията β€žgit pushβ€œ, Π΅ ускорСна. Π§Ρ€Π΅Π· ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ към ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ само Π½Π° Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π² тСстово Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ със 7 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ само 3% са ΠΎΠ±Ρ…Π²Π°Π½Π°Ρ‚ΠΈ ΠΎΡ‚ опСрацията Π·Π° натисканС, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ…Π° намаляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° с 4.5 ΠΏΡŠΡ‚ΠΈ.
  • Π—Π° Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΏΠ°Π·ΠΈ ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ цСлочислСно ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π² ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "git apply" ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° максималния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΏΠ°Ρ‡ΠΎΠ²Π΅Ρ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ. Ако Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° корСкцията надвишава 1 GB, сСга Ρ‰Π΅ сС ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π³Ρ€Π΅ΡˆΠΊΠ°.
  • Π—Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈ уязвимости са Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π·Π° почистванС Π½Π° Π½Π΅Π½ΡƒΠΆΠ½Π°Ρ‚Π° информация ΠΎΡ‚ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° h2h3 с опцията GIT_TRACE_CURL=1 ΠΈΠ»ΠΈ GIT_CURL_VERBOSE=1 Π·Π°Π΅Π΄Π½ΠΎ с HTTP/2.
  • ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ символна Π²Ρ€ΡŠΠ·ΠΊΠ° към Π΄Ρ€ΡƒΠ³ ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "git symbolic-ref HEAD" Π²Π΅Ρ‡Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° цСлСвия ΠΊΠ»ΠΎΠ½, Π° Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° символната Π²Ρ€ΡŠΠ·ΠΊΠ°.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° @{-1} към опцията β€ž--edit-descriptionβ€œ (β€žgit branch β€”edit-description @{-1}β€œ) Π·Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° описаниСто Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ΅Π½ ΠΊΠ»ΠΎΠ½.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° "git merge-tree --stdin" Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° списък с ΠΎΠΏΡ†ΠΈΠΈ Ρ‡Ρ€Π΅Π· стандартСн Π²Ρ…ΠΎΠ΄.
  • Π’ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ систСми ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ fsmonitor, ΠΊΠΎΠΉΡ‚ΠΎ слСди ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ във Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€