Анонсирован первый выпуск системы управления репозиториями Kallithea, основанной энтузиастами и представителями организации Software Freedom Conservancy с целью продолжения развития свободной кодовой базы RhodeCode, после превращения данной платформы в полупроприетарный коммерческий продукт. Kallithea позволяет развернуть инфраструктуру управления разработкой, которая поддерживает системы контроля версий Git и Mercurial, и по решаемым задачам напоминает GitHub и Bitbucket. Код проекта распространяется под лицензией GPLv3. Код проекта написан на языке Python.

Kallithea включает в себя высокопроизводительный сервер обработки push/pull-запросов и веб-интерфейс для организации совместной разработки, который позволяет управлять репозиториями, разделять права доступа, рецензировать код, отслеживать активность других участников, делать форки проектов, отправлять пулл-реквесты или изменять код на месте, через простой редактор. Поддерживается интеграция с централизованной базой пользователей предприятия, основанной на LDAP или ActiveDirectory. Поддерживается создание групп репозиториев и групп разработчиков с унификацией управления членами группы. Внешний вид интерфейса может легко быть изменён через систему шаблонов. Поддерживается наглядное представление активности в виде графиков. В системе рецензирования изменений поддерживается обсуждение изменений и отправка уведомлений.

Серверная часть платформы является многопоточной, что позволяет одновременно обслуживать несколько pull/push-запросов. Для увеличения производительности в системе активно используется кэширование и выполнение действий в асинхронном режиме. В систему также интегрированы средства резервного копирования, позволяющие периодически архивировать и сохранять через scp копию всех данных. Для отслеживания активности в репозиториях поддерживается специальная прослойка, ведущая журнал всех обращений и позволяющая аутентифицировать каждый запрос. Для работы с репозиториями задействована библиотека vcs, мета-данные о проектах могут хранится в БД на основе SQLite, PostgreSQL или других, поддерживаемых SQLAlchemy.

Выпуск Kallithea 0.1 оценивается как стабильный и пригодный для введения в эксплуатацию. Особенности Kallithea 0.1:

  • Поддержка новых выпусков dulwich, doctuils, pycrypto, mako, whoosh, babel, formencode, bcrypt и Mercurial 3.1.x;
  • Поддержка удаления групп репозиториев;
  • Возможность интеграции с внешними системами web-аналитики, такими как Google Analytics;
  • Увеличена производительность при работе с большими репозиториями;
  • Повышена информативность текстов ошибок, обеспечен вывод причины возникновения ошибок;
  • Ссылки для меток в ветках теперь указывают на список изменений, а не на файлы;
  • Проведена чистка JavaScript-кода, многие участки кода переведены с YUI на jQuery;
  • Переработано оформление графиков;
  • Улучшен интерфейс для формирования сообщений о проблемах. Возможность редактирования описания и заголовка сообщения о проблеме. Отображение активности в ветке после заведения PR. Поддержка добавления комментариев к закрытым PR;
  • Улучшены интерфейсы для оценки различий и добавления комментариев.
  • Обеспечено сохранение текущей ревизии при навигации между списками изменений и просмотром файлов;
  • Поддержка указания имени ветки в URL со ссылкой на набор изменений (ветка отделяется при помощи символа '/');
  • Обеспечен показ изображений в интерфейсах просмотра файлов и оценки изменений (diff).


Источник: http://www.opennet.ru/opennews/art.shtml?num=40440