Выпуск git-совмСстимой систСмы управлСния вСрсий Got 0.80

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenBSD ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ выпуск систСмы управлСния вСрсиями Got 0.80 (Game of Trees), ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ основной Π°ΠΊΡ†Π΅Π½Ρ‚ дСлаСтся Π½Π° простотС устройства ΠΈ использования. Для хранСния вСрсионированных Π΄Π°Π½Π½Ρ‹Ρ… Got ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, совмСстимоС с дисковым Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Git, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструмСнтариСв Got ΠΈ Git. НапримСр, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Git ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Got. Код распространяСтся ΠΏΠΎΠ΄ свободной Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ ISC.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ставит основной Ρ†Π΅Π»ΡŒΡŽ сопровоТдСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ OpenBSD с оглядкой Π½Π° спСцифику ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, Π² Got ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ принятыС Π² OpenBSD ΠΏΡ€Π°Π²ΠΈΠ»Π° обСспСчСния бСзопасности (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΈ использованиС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² pledge ΠΈ unveil) ΠΈ ΡΡ‚ΠΈΠ»ΡŒ написания ΠΊΠΎΠ΄Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ рассчитан Π½Π° процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΎΠ±Ρ‰ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², внСшним доступом ΠΏΠΎ SSH ΠΈ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

Для управлСния вСрсиями прСдлагаСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° got с ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄. Для упрощСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΠΏΡ†ΠΈΠΉ, достаточный для выполнСния основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… услоТнСний. Для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ git. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ вынСсСны Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ gotadmin, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊ инициализация рСпозитория, ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° индСксов ΠΈ чистка Π΄Π°Π½Π½Ρ‹Ρ…. Для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ прСдлагаСтся web-интСрфСйс gotwebd ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° tog для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ просмотра содСрТимого рСпозитория ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π‘Ρ€Π΅Π΄ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Π’ сСрвСрном процСссС gotd, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌ сСтСвой доступ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния ΠΏΡ€Π°Π²ΠΈΠ» для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи ΠΈ чтСния Π² привязкС ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ рСпозиториям.
  • Π’ gotd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ процСссы «listen» ΠΈ session» для отслСТивания ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ unix-сокСту ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСансов. Π’ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ процСсс Ρ‚Π°ΠΊΠΆΠ΅ вынСсСны ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  • Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ процСсса gotd ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° с chroot Π½Π° использованиС систСмного Π²Ρ‹Π·ΠΎΠ²Π° unveil. Π£Π±Ρ€Π°Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΊ gotd Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ gotsh.
  • Π’ gotd Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ числа соСдинСний Π² привязкС ΠΊ uid.
  • Π’ gotd.conf Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки для управлСния соСдинСниями, Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ unix_socket’ Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° ‘listen on’.
  • Доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ запускС ‘gotctl info’, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ прСдоставляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ root.
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° CGI-обвязки Π½Π°Π΄ got — gotweb, вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для web-интСрфСйса слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FastCGI-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ gotwebd, возмоТности ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹. НапримСр, Π² gotwebd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€ для упрощСния измСнСния оформлСния страниц, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π»Π΅Π½Ρ‚Π° RSS для отслСТивания Ρ‚Π΅Π³ΠΎΠ², ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠ±ΠΎΠ² ΠΈ списков ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… got log, got diff ΠΈ tog diff Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ diffstat.
  • Π‘Π½ΠΈΠΆΠ΅Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти Π·Π° счёт ограничСния числа Ρ‚Π΅Π³ΠΎΠ², Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² кэшС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • Π’ got patch Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

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