Управление большим количеством ртутных репозиториев на сервере

Я читал о подходе "один центральный репозиторий против нескольких репозиториев" в Mercurial (например, эти вопросы SO), и совершенно ясно, что небольшие репозитории (по одному на отдельный проект) - правильный подход.

Но это подразумевает большое количество репозиториев, где под "большим числом" я подразумеваю достаточно того, что трудно отследить, что содержит что. Я в небольшой команде (< 7 разработчиков), и с количеством проектов, над которыми мы работаем, различными ветками / версиями и т. Д., Я вижу, что у нас есть 50 или 60 репозиториев.

Существуют ли какие-либо инструменты для каталогизации / управления сервером Mercurial с десятками или сотнями хранилищ?


редактировать: я использую и SCM-Manager (в нашем межсетевом экране) и bitbucket (вне нашего межсетевого экрана). О, и, конечно, у каждого разработчика будут свои собственные локальные клоны.

Проблема не в том, как разместить большое количество ртутных репозиториев на сервере, а в том, как отслеживать их все.

2 ответа

Как предложил @Steve, веб-подход очень хорош. Таким образом, я управляю 50+ репозиториями.

У меня есть процесс запуска hg serve в пакетном файле:

hg serve --prefix mercurial --address my-hg-server --port 8000 --web-conf hg-web.conf --accesslog hg-access.log --errorlog hg-error.log

Hg-web.conf выглядит так:

[web]
style = default
allow_push = *
push_ssl = false

[paths]
repos1 = \\hg-repos-server\repos1
repos2 = \\hg-repos-server\repos2
....

затем, получив доступ к:

http: // my-hg-server: 8000 / mercurial

Я получаю страницу со ссылками на все мои репозитории. Ссылка может быть скопирована и клонирована пользователем.

Это очень простая установка и отлично работает для нас.

Вы можете обернуть пакетный файл hg serve или сценарий оболочки для запуска в качестве службы, и вы можете поместить все это за веб-сервер Apache для управления большей безопасностью.

надеюсь, это поможет

Как вы обслуживаете эти хранилища? Если вы используете hgweb тогда самый простой способ - добавить описания к вашему hgrc файлы на сервере. Вы делаете это в [web] раздел, как это:

[web]
description=Description goes here

Это добавляет описания к веб-интерфейсу, что хорошо для нас (у нас есть около 30 хранилищ)

Кроме этого, я думаю, что большинство вариантов, которые у вас есть, включают в себя выбор метода публикации на основе Интернета, который включает в себя такие функции, как Rhodecode. Другие методы публикации доступны здесь.

Другие вопросы по тегам