2013-04-10 3 views
0

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

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

Есть ли какие-либо инструменты, чтобы помочь каталогу/управлять сервером Mercurial с десятками или сотнями репозиториев?


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

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

+0

Описание репо должно быть достаточно, чтобы следить за теми, на сервере, и это до каждого разработчика, чтобы следить за их собственных хранилищ. –

+0

При всем уважении вы снижаете эффект человеческой ошибки. –

ответ

0

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

[web] 
description=Description goes here 

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

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

0

Как предложил @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

The 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: 80 00/mercurial

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

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

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

Я надеюсь, что это помогает