Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
hgbook.pdf
Скачиваний:
52
Добавлен:
17.03.2015
Размер:
3.15 Mб
Скачать

Взаимодействие с людьми

6.6.3.1. Явное определение публикуемых репозиториев

В дополнение в механизму collections, скрипт hgwebdir.cgi позволяет вам публиковать специфичный лист репозиториев. Для того сделать это создайте секцию paths с содержимым подобным этому:

[paths]

repo1 = /my/path/to/some/repo repo2 = /some/path/to/another

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

Если вы хотите, то можете использовать collections и механизм paths одновременно в одном конфигурационном файле.

Остерегайтесь дублирования виртуальных путей

Если несколько репозиториев будут иметь один и тот же виртуальный путь, hgwebdir.cgi не будет сообщать об ошибке. Вместо этого он будет вести себя непредсказуемо.

6.6.4. Загрузка исходных архивов

Web интерфейс Mercurial позволяет пользователям скачивать архив любой ревизии. Этот архив будет содержать снимок рабочей директории, но не будет содержать копию данных репозитория.

По умолчанию эта возможность отключена. Если вы хотите включить её, вам нужно будет добавить элемент allow_archive в секцию web вашего ~/.hgrc файла.

6.6.5. Опции настройки веб интерфейса

Web интерфейс Mercurial (команда hg serve, hgweb.cgi и скрипты hgwebdir.cgi) имеют несколько опций, которые вы можете настроить. Они располагаются в секции web.

allow_archive Определяет который (если нужно) из методов загрузки архивов поддерживает Mercurial. Если вы включите эту опцию, пользователи веб интерфейса смогут скачать архив любой версии репозитория, который они просматривают. Чтобы включить возможность загрузки архивов, этот элемент должен содержать последовательность слов, перечисленных ниже.

bz2: Архив tar, сжатый по алгоритму bzip2. Имеет наилучшую степень сжатия, но использует больше процессорного времени на сервере.

gz: Архив tar, сжатый по алгоритму gzip.

zip: Архив zip, сжатый используя алгоритм LZW. Этот формат имеет наихудшее сжатие, но широко используется в мире Windows.

Если у вас будет пустой список или не будет записи allow_archive вообще, то эта возможность будет отключена. Ниже дан пример как включить все три поддерживаемых формата.

[web]

allow_archive = bz2 gz zip

allowpull: Boolean. Определяет позволяет ли web интерфейс удаленным пользователям использовать команды hg pull и hg clone через HTTP. Если эта опция установлена в no или false, то только «пользовательская» часть web интерфейса доступна.

contact: String. Строка свободного формата (но предпочтительно короткая) отождествляющая человека или группу создавшую репозиторий. Она обычно содежит имя и email адрес человека или листа почтовой рассылки. Эту запись обычно располагают в собственном .hg/hgrc репозитория, но так же можно расположить в глобальном ~/.hgrc, если каждый репозиторий имеет единственного мейнтейнера.

72

Взаимодействие с людьми

maxchanges: Integer. Максимальное количество наборов изменений отображаемое на одной странице по умолчанию.

maxfiles: Integer. Максимальное количество модифицированных файлов отображаемое на одной странице по умолчанию.

stripes: Integer. Если web интерфейс отображает разноцветные «полосы», облегчающие визуальное восприятие выводимых строк, то значение этого параметра будет означать количество строк текста в каждой цветной строке.

style: Управляет шаблоном Mercurial, использующимся для отображения web интерфейса. Mercurial поставляется с несколькими веб-шаблонами.

coal — чёрнобелый.

gitweb — эмулирует веб-интерфейс git-а

monoblue — используются синие и серый цвета.

paper — используется по умолчанию.

spartan — ранее использовался по умолчанию.

Вы можете также определить свой шаблон; более детально эта возможность обсуждается в Глава 11, Настройка вывода Mercurial. Ниже вы можете видеть как включить стиль gitweb.

[web]

style = gitweb

templates: Path. Path содержит имя каталога в котором ищутся файлы шаблонов. По умолчанию Mercurial ищет их в директории где установлен.

Если вы используете hgwebdir.cgi, вы можете поместить для удобства некоторые элементы конфигурации в секцию web файла hgweb.config, вместо файла ~/.hgrc. Это элементы — motd и style.

6.6.5.1. Опции, специфичные для индивидуального репозитория

Некоторые элементы раздела web должны быть помещены в локальный файл .hg/hgrc, вместо помещения их в глобальный ~/.hgrc для пользователя.

description: String. Строка в свободной форме (предпочтительно небольшая), которая описывает сущьность репозитория или его содержимое.

name: String. Строка с именем репозитория для использования в web интерфейсе. Она имеет больший приоритет (переопределяет) нежели имя по умолчанию, которое является последним компонентом пути репозитория.

6.6.5.2. Опции, специфичные для команды hg serve

Некоторые элементы секции web файла ~/.hgrc используются только с командой hg serve.

accesslog: Path. Имя файла для аудита доступа. По умолчанию команда hg serve пишет свою информацию в stdout, а не в файл. Элементы лог файла пишутся в стандартном «объединенном» формате файлов, который используется почти всеми web серверами.

address: String. Локальный адрес, который должен слушать web сервер в ожидании подключений к нему. По умолчанию сервер слушает все адреса.

errorlog: Path. Имя файла в который будут выводиться сообщения об ошибках. По умолчанию команда hg serve записывает эту информацию в stdout, а не в файл.

ipv6: Boolean. Определяет использовать или нет IPv6 протокол при работе сервера. По умолчанию IPv6 не используется.

73

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]