Публикувана версия 12.0 на платформата за съвместна разработка Forgejo, която позволява разгръщането на система за съвместна работа с Git репозитории на собствени сървъри, подобна на решенията на GitHub, Bitbucket и Gitlab. Forgejo е клон на проекта Gitea, който от своя страна е отделена версия на платформата Gogs. Отделянето на Forgejo е извършено през 2022 година след опити за комерсиализация на Gitea и предаване на управлението в ръцете на търговска компания. Проектът Forgejo спазва принципите на независимо управление и отговорност към общността. Git хостинг услугата Codeberg.org е преминала на използване на Forgejo. Кодът на проекта е написан на езика Go и е разпространен под лиценз GPLv3.
Ключовите характеристики на платформата включват ниска консумация на ресурси (може да се използва на Raspberry Pi или на евтини VPS) и лесен процес на инсталиране. Предоставят се стандартни възможности за работа по проекти, включително управление на задачи, проследяване на проблеми (issues), pull-заявки, wiki, средства за координация на екипи разработчици, подготовка на версии, автоматизация на разполагането на пакети в репозитории, управление на права за достъп, интеграция с платформи за непрекъсната интеграция, търсене на код, автентикация чрез LDAP и OAuth, достъп до репозитория по протоколите SSH и HTTP/HTTPS, свързване на web-хукове за интеграция със Slack, Discord и други услуги, поддръжка на Git-хукове и Git LFS, инструменти за миграция и зеркализация на репозитории. Отделно се акцентира на възможността за използване на протокола ActivityPub за свързване на отделни сървъри разработчици.
Основни промени:
- Страницата с профил на потребителя е преработена. Добавени са нови действия в менюто на профила.

- Интерфейсът за рецензиране на pull заявки на ниво отделни commit-и е усъвършенстван (вместо пълен списък с промени, който обхваща всички commit-и, в този режим последователно се рецензират отделни commit-и). За навигация между commit-ите по време на рецензия са добавени бутони 'напред' и 'назад'. Позволено е използването на бутона за приключване на рецензията за отделни commit-и. На страниците за рецензиране текстът с обясненията на commit-а остава видим.

- Добавена е опция за изпращане на имейл уведомления за неуспехи при изпълнение на задачи по график (Forgejo Actions).
- Процесът на проверка за конфликти с отворени pull заявки при добавяне на нови commit-и в целевата клонка е оптимизиран. Преди проверката водеше до натоварване на входно/изходните операции, пропорционално на броя на отворените pull заявки, поради прилагането на операция върху работното дърво. Прехвърлянето на команда 'git merge-tree —write-tree' позволява изпълнение на сливане без да се обраща към работното дърво, което значително намалява натоварването при големи внедрения.
- Добавена е възможност за използване на SSH за задачи, които преди бяха свързани с OpenPGP. За подписване на commit-и след редактиране на файлове или приемане на промени вместо GPG ключ сега може да се използва SSH ключ (подписът се генерира в TPM чрез ssh-agent).
- По подразбиране е добавен файл robots.txt, който информира ботовете за разделите, които не трябва да се индексират.
- Добавена е функция за поддържане на fork в състояние, синхронизирано с основния проект.

- Добавена е поддръжката за преглед на 3D модели във формата glTF.

- В редактора на коментари е реализирана възможността за поставяне на отстъпи с клавиша Tab.
- На базата на Alpine 3.22 е създаден готов контейнер за пускане на Forgejo 12, който използва Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 и OpenSSH 10.0.
Източник: opennet.ru




