Π‘Π±ΠΎΠΈ Π² систСмах сборки ΠΈΠ·-Π·Π° измСнСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π² GitHub

GitHub ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΌΠ΅Ρ‚ΠΎΠ΄ формирования автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² «.tar.gz» ΠΈ «.tgz» Π½Π° страницах с Ρ€Π΅Π»ΠΈΠ·Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ измСнСнию ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΈ массовым сбоям Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСмах сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для подтвСрТдСния цСлостности ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ свСрку Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… с GitHub Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² с Ρ€Π°Π½Π΅Π΅ сохранёнными ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ суммами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π² сборочных сцСнариях.

Начиная с выпуска 2.38 Π² инструмСнтарии Git Π±Ρ‹Π»Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ встроСнная рСализация gzip, которая позволяла ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сТатия Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ создания Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ². GitHub ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚ΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ послС обновлСния вСрсии git Π² своСй инфраструктурС. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π²Ρ‹Π·Π²Π°Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ сТатыС Π°Ρ€Ρ…ΠΈΠ²Ρ‹, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ встроСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ gzip Π½Π° Π±Π°Π·Π΅ zlib, Π±ΠΈΠ½Π°Ρ€Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², созданных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ gzip, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм для Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², созданных Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями git ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «git archive».

БоотвСтствСнно, послС обновлСния git Π² GitHub Π½Π° страницах Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² стали ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΠ²Ρ‹, Π½Π΅ проходящиС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΠΎ старым ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ суммам. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΎΡΠ²ΠΈΠ»Π°ΡΡŒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сборочных систСмах, систСмах Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π² инструмСнтариях сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· исходных тСкстов. НапримСр, Π½Π°Ρ€ΡƒΡˆΠΈΠ»Π°ΡΡŒ сборка ΠΎΠΊΠΎΠ»ΠΎ 5800 ΠΏΠΎΡ€Ρ‚ΠΎΠ² FreeBSD, исходныС тСксты для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈΡΡŒ ΠΈΠ· GitHub.

Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΆΠ°Π»ΠΎΠ±Ρ‹ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… сбоях прСдставитСли GitHub Π²Π½Π°Ρ‡Π°Π»Π΅ ΡΡΡ‹Π»Π°Π»ΠΈΡΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ постоянныС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы для Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ для восстановлСния работоспособности систСм сборки, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ повлияло ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, потрСбуСтся колоссальная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ обновлСнию ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… экосистСмах, прСдставитСли GitHub ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ своё ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ старый ΠΌΠ΅Ρ‚ΠΎΠ΄ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ².

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Git ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΈ лишь ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ дСйствия. Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° использованиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gzip ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π»Π°Π³Π° «—stable» для сохранСния совмСстимости со старыми Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ; привязка встроСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ Π°Ρ€Ρ…ΠΈΠ²Π°; использованиС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gzip для старых ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ встроСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², начиная с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹; Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для нСсТатых Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ².

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ Π½Π° Π²Ρ‹Π·ΠΎΠ² внСшнСй ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ нСизмСнности ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ внСшнСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ gzip Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ измСнСнию Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π°Ρ€Ρ…ΠΈΠ²Π°. Π’ настоящСС врСмя для рСцСнзирования ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ староС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (Π²Ρ‹Π·ΠΎΠ² внСшнСй ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gzip) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ отсутствии Π² систСмС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gzip. ΠŸΠ°Ρ‚Ρ‡ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π° «git archive» Π½Π΅ гарантируСтся ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

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