2014-08-23 5 views
0

Я настраиваю выделенный сервер сборки, которому необходимо проверить (либо наконечник, либо идеально голову конкретной ветки) с удаленного сервера hg (обслуживается службой hg).Как я могу «проверить» из удаленного ртутного хранилища?

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

+0

См. Также http://stackoverflow.com/questions/3038573/mercurial-how-do-you-export-your-repos-source-to-a-production-site –

ответ

0

Если вы используете hgweb, который вы используете, если используете hg serve, тогда у вас есть доступ к URL-адресам архива, таким как: /archive/tip.tar.gz, который доставит вам архив. Для tip.tar.gz собственного репо пример Mercurial находится на https://www.mercurial-scm.org/repo/hg/archive/tip.tar.gz

Важно отметить, что это не клон. Вы не можете делать локальные команды hg на этом - вы не можете hg tag или hg id или какие-либо обычные вещи, которые строят системы, как делать.

Более нормальным является сохранение локального клона вне контейнера докера и передача его в контейнер для строительства. Это то, что мы делаем на работе.

+0

Это прекрасно. Именно то, что я искал. У вас есть ссылка на любую документацию по различным форматам архивного url? – pinoyyid

+0

Вы можете увидеть множество примеров, проверив ссылки в самом hgweb, но можно использовать anytihng, которые могут идентифицировать ревизию. Итак, /archive/branchname.tar.gz предоставит вам последнюю главу в этой ветке и т. Д. –

0

Вы не можете получить нужен только пересмотра в любых DVCS и с удаленным Mercurial хранилищем, вы ничего не можете сделать, только клонировать в локальное хранилище.

Но ваша задача немного другая: вы должны иметь некоторый Deploy инструмента, которые передают последние изменения из хранилища-хоста для создания-хозяина - и эта операция должна быть выполнена (если вы хотите, чтобы избежать клонирования полностью) на стороне репозитория. Т.е. вы можете (если у вас есть права) hg archive (или, с расширениями - hg exportfiles | hg ftp) необходимо изменить набор из репозитория на некоторое временное дерево и передать (используя любую возможную технику - ftp, scp, rsync) до конечной цели на сервере сборки

+0

Большое спасибо, теперь я получаю, что "hg архив "- это команда, которую я искал. Стыдно, что его нельзя запускать удаленно, но простой скрипт будет делать то же самое. – pinoyyid

Смежные вопросы