2010-10-17 3 views
0

Mercurial предлагает возможность просмотра кода, журналов, филиалов и т. Д. На локальном веб-сервере.Mercurial localhost "site" обзор кода. Проблемы

Просто введите команду «рт.ст. служить» в папке вашего проекта, позволит Вам просматривать все это на http://127.0.0.1:8000/

У меня есть некоторые вопросы здесь.

1) Кажется, что вы можете делать это только для одного проекта за раз, поскольку этот резервный порт 8000. Так что, если у меня есть несколько различных проектов, которые я хочу, чтобы несколько людей могли постоянно просматривать , что я делаю?

2) Обзор «файлов» перечисляет все существующие файлы сразу после друг друга. Нет древовидной структуры или чего-то еще, она просто перечисляет их в одной длинной строке, переходя к новым символам только тем фактом, что в CSS поля установлен максимальный размер. Есть ли способ обойти это, или я застрял с ним?

ответ

3

hg serve принимает опцию -p, которая контролирует порт прослушивания.

hg serve -p 8001 
+0

Полезно знать! +1 – Klaim

4

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

Если вы хотите (постоянно) выставить несколько репо с вашего собственного сервера, вам придется сделать больше: https://www.mercurial-scm.org/wiki/PublishingRepositories

Вы также можете использовать публичный хостинг, как http://bitbucket.org (что позволит частному проекту также для бесплатно, в условиях), Sourceforge.net или http://code.google.com/hosting (что разрешает только проекты с открытым исходным кодом).

3

Используя параметр --web-conf, вы можете использовать файл конфигурации hgwebdir, который указывает несколько репозиториев с одного URL-адреса.

Я на самом деле обнаружил, что если вы не хотите возиться с настройкой hgwebdir на апача, хорошим решением является использование mercurial-server служить (двухтактный) репозиториев через SSH (только сертификаты) и использовать hg serve чтобы открыть веб-представление только для чтения с графиком и т. д. Очевидно, это предполагает, что веб-представление не будет иметь огромный объем трафика - если вам это нужно, найдите время, чтобы настроить apache с помощью mod_wsgi.

Например, мой персональный сервер (с помощью ртутного-сервера с домашней директорией /home/hg) имеет /etc/init.d/hgserve который вызывающее что-то вроде:

hg serve --daemon --port 8000 --web-conf /home/hg/hgweb.config --accesslog /var/log/mercurial/access.log --errorlog /var/log/mercurial/error.log

hgweb.config просто содержит:

 
[paths] 
repos = /home/hg/repos/* 

Затем отобразится список всех репозиториев, найденных под /home/hg/repos. Если я хочу скрыть какие-либо (например,hgadmin репо, который использует ртутный-сервер) Я просто добавить следующее к репо hgrc:

 
[web] 
hidden = True 

В списке файлов - вы могли бы получить где-то путем изменения шаблонов и передать параметр --template в hg serve , В ваших Mercurial библиотеках будет каталог mercurial/templates - это содержит все шаблоны, которые использует hg serve - скопируйте его где-нибудь, а затем измените. Шаблоны для различных веб-страниц находятся в каталоге mercurial/templates/papermercurial/templates/static содержит стили и javascript).

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

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