Выпуск систСмы управлСния исходными тСкстами Git 2.36

ПослС Ρ‚Ρ€Ρ‘Ρ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск распрСдСлСнной систСмы управлСния исходными тСкстами Git 2.36. Git являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных, Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм управлСния вСрсиями, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π³ΠΈΠ±ΠΊΠΈΠ΅ срСдства Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ ΠΈ слиянии Π²Π΅Ρ‚ΠΎΠΊ. Для обСспСчСния цСлостности истории ΠΈ устойчивости ΠΊ измСнСниям «Π·Π°Π΄Π½ΠΈΠΌ числом» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСявноС Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСй ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ истории Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ удостовСрСниС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π³ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ выпуском Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 717 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ участии 96 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 26 Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ приняли участиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git log» ΠΈ «git show» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—remerge-diff», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‰ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ слияния ΠΈ фактичСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ послС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «merge», Ρ‡Ρ‚ΠΎ позволяСт наглядно ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ измСнСния, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ слиянии. ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° «git show» раздСляСт Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² отступом, Ρ‡Ρ‚ΠΎ затрудняСт ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. НапримСр, Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π½ΠΈΠΆΠ΅ строки «+/-» Π±Π΅Π· отступа ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ послСднСС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, связанноС с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ sha1 Π½Π° oid Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π° «+/-» с отступом — Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ΅ появлСниСм Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ dwim_ref().
    Выпуск систСмы управлСния исходными тСкстами Git 2.36

    ΠŸΡ€ΠΈ использовании ΠΎΠΏΡ†ΠΈΠΈ «—remerge-diff» различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π½Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния, ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½Ρ‹.

    Выпуск систСмы управлСния исходными тСкстами Git 2.36

  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ настройки повСдСния ΠΏΠΎ сбросу дисковых кэшСй Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fsync(). Π Π°Π½Π΅Π΅ доступный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ core.fsyncObjectFiles Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½ Π½Π° Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ core.fsync ΠΈ core.fsyncMethod, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ fsync, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (.git/objects), Π½ΠΎ ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ структурам git, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ссылки (.git/refs), reflog ΠΈ pack-Ρ„Π°ΠΉΠ»Ρ‹.

    Π§Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ core.fsync ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ список Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… структур Git, послС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ fsync. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ core.fsyncMethod позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для сброса кэша, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ fsync для примСнСния ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½ΠΎΠ³ΠΎ систСмного Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ writeout-only для примСнСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записи (pagecache writeback).

  • Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ уязвимостСй, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… подстановкой Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² .git Π² совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹, усилСна ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° рСпозитория. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡŽΠ±Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ git Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ допускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² своих ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… «.git». Если ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ошибка. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ настройки safe.directory.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git cat-file», ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для Π²Ρ‹Π²ΠΎΠ΄Π° исходного содСрТимого Git-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—batch-command», Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ Ρ€Π°Π½Π΅Π΅ доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «—batch» ΠΈ «—batch-check» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ «contents <ΠΎΠ±ΡŠΠ΅ΠΊΡ‚>» для Π²Ρ‹Π²ΠΎΠ΄Π° содСрТимого ΠΈΠ»ΠΈ «info <ΠΎΠ±ΡŠΠ΅ΠΊΡ‚>» для Π²Ρ‹Π²ΠΎΠ΄Π° информация ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ поддСрТиваСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° «flush» для сброса Π±ΡƒΡ„Π΅Ρ€Π° Π²Ρ‹Π²ΠΎΠ΄Π°.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git ls-tree», ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для формирования списка содСрТимого Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—oid-only» («—object-only»), ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с «—name-only» выводящая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для упрощСния Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· скриптов. Π’Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция «—format» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ собствСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°, комбинируя ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚ΠΈΠΏΠ΅, ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «git bisect run» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ нСвыставлСния для скрипта ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π² этом случаС ошибок с ΠΊΠΎΠ΄Π°ΠΌΠΈ 126 ΠΈΠ»ΠΈ 127 (Ρ€Π°Π½Π΅Π΅, Ссли скрипт Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всС Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹).
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git fetch» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—refetch» для извлСчСния всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π΅Π· информирования Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны ΠΎ содСрТимом, ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡΡ Π½Π° локальной систСмС. ПодобноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для восстановлСния состояния послС сбоСв, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ увСрСнности Π² цСлостности Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git update-index», «git checkout-index», «git read-tree» ΠΈ «git clean» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° частичных индСксов (sparse index), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ мСсто Π² рСпозиториях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ частичного клонирования (sparse-checkout).
  • ИзмСнСно ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git clone —filter=… —recurse-submodules», которая Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ частичному ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ субмодулСй (Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ примСнялся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ основному содСрТимому, Π° субмодули ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°).
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «git bundle» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° указания Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ помСщСния содСрТимого ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с опСрациями частичного клонирования.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «git branch» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—recurse-submodules» для рСкурсивного ΠΎΠ±Ρ…ΠΎΠ΄Π° субмодулСй.
  • Π’ userdiff ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для языка Kotlin.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ