Распрацоўнікі праекту 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