Mercurial localhost "сайт" обзор кода.вопросы - PullRequest
0 голосов
/ 18 октября 2010

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

Просто введя команду "hg serve" в папке вашего проекта, вы сможете просмотреть все это на http://127.0.0.1:8000/

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

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

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

Ответы [ 3 ]

4 голосов
/ 18 октября 2010

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

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

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

3 голосов
/ 18 октября 2010

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

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

Например, мой личный сервер(используя mercurial-сервер с домашним каталогом /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, которую использует mercurial-сервер), я просто добавляю следующее в репозиторий hgrc:

[web]
hidden = True

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

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

3 голосов
/ 18 октября 2010

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

hg serve -p 8001
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...