Выпуск 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

Дадаць каментар