АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

irkerhook - Интернет в облаке

Запустите irkerhook в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда irkerhook, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


irkerhook - скрипт перехвата репозитория, выдающий уведомления irker

СИНТАКСИС


irkerhook.py [-n] [-V] [[--variable = значение...]] [[идентификатор фиксации...]]

ОПИСАНИЕ


irkerhook.py - это скрипт Python, предназначенный для вызова из хука после фиксации
репозиторий управления версиями. Его задача - собрать информацию о сработавшем коммите.
крючок (и, возможно, предпочтения, установленные владельцем репозитория) и отправьте эту информацию
экземпляру irkerd для пересылки по различным каналам объявлений.

Правильный вызов и поведение irkerhook.py зависит от того, какой VCS
(система контроля версий) вызывает это. Есть четыре разных места, откуда он может
извлечь информацию:

1. Звонки в ЖКХ.

2. В VCS, таких как git, которые поддерживают настраиваемые пользователем переменные конфигурации, переменные с
приставка «irker.».

3. В других VCS - конфигурационный файл irker.conf во внутренней структуре репозитория.
каталог.

4. Аргументы командной строки в форме - переменная = значение.

Следующие переменные являются общими для всех поддерживаемых VCS:

Проект
Название проекта. Должен быть относительно короткий идентификатор; обычно появляется
в самом начале уведомления.

РЕПО
Имя каталога верхнего уровня репозитория. Если не указано, по умолчанию используется
Копия названия проекта в нижнем регистре.

каналы
URL-адрес канала IRC или их список, разделенный запятыми, идентифицирующий каналы, на которые
уведомления должны быть отправлены. Если не указано, по умолчанию используется freenode #commits.
канал.

сервер
Хост, на котором, как ожидается, будет находиться демон irker, ретранслирующий уведомления.
По умолчанию "localhost".

e-mail
Если установлено, используйте для связи электронную почту, а не TCP или UDP. Значение используется как
целевой почтовый адрес.

TCP
Если «истина», использовать TCP для связи; если "ложь", используйте UDP. По умолчанию "ложь".

префикс URL
Префикс URL-адреса набора изменений для вашего репо. Когда к этому добавляется идентификатор фиксации, он должен
укажите на CGI, который будет отображать фиксацию через cgit, gitweb или что-то подобное.
Значения по умолчанию, вероятно, будут работать, если у вас есть типичная настройка gitweb / cgit.

Если значение этой переменной равно «None», создание поля URL в фиксации
уведомления будут подавлены. Другие магические значения: cgit, gitweb и
"viewcvs", которые расширяются до шаблонов URL-адресов, которые обычно работают с этими системами.

В этом URL-адресе могут встречаться волшебные файлы cookie "% (host) s" и% (repo) s ".
расширен до полного доменного имени хоста, на котором запущен irkerhook.py; последний
расширен до значения переменной "репо".

крошечный
Шаблон URL-адреса, указывающий на службу сжатия URL-адресов, чтобы они занимали меньше времени
пробел в строке уведомления. Если значение этой переменной «Нет», нет
будет предпринята попытка сжатия.

цвет
Если "mIRC", выделите поля уведомлений цветовыми кодами mIRC. Если "ANSI", выделите
поля уведомлений с escape-последовательностями цвета ANSI. По умолчанию «нет» (без цветов).
Коды ANSI поддерживаются в Chatzilla, irssi, ircle и BitchX; Только коды mIRC
распознается в mIRC, XChat, KVirc, Konversation или weechat.

Примечание: если вы включите это и уведомления перестанут появляться на вашем канале, вам понадобится
чтобы отключить цветной фильтр IRC на этом канале. Для этого вам понадобится оп.
привилегии; введите команду "/ mode -c "с заменен вашим
Название канала. Вам может потребоваться сначала ввести команду "/ msg chanserv set
MLOCK + NT-SLK ".

максимальное количество каналов
Интерпретируется как целое число. Если не ноль, ограничивает количество каналов, которые будет
интерпретировать из переменной "каналы".

Эту переменную нельзя установить с помощью переменных конфигурации VCS или irker.conf; оно может
может быть установлен только с аргументом командной строки. Таким образом, на сайте кузницы, в репозитории которого
владельцам не разрешается изменять свои сценарии после фиксации, администратор сайта может
установите его, чтобы предотвратить рассылку спама владельцами вредоносных проектов. Установка значения
менее 2, однако, вероятно, было бы неразумно.

сиалик
Если не пусто и не «Нет» (по умолчанию), это имитирует старое поведение ЦРУ:
отбрасывание длинных списков файлов в пользу резюме формы (N файлов в M
каталоги). Значение должно быть числовым, дающим пороговое значение для длины
список файлов в символах.

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

refname = $ 1
старый = 2 $
новый = 3 $
irkerhook.py --refname = $ {refname} $ (git rev-list --reverse $ {old} .. $ {new})

за исключением того, что вам понадобится абсолютный путь к irkerhook.py.

В целях тестирования и обратной совместимости, если вы вызываете irkerhook.py без
аргументы (как в хуке после фиксации) он будет вести себя так, как если бы он был вызван как
это:

irkerhook.py --refname = refs / Heads / master ГОЛОВА

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

Типичный способ установки этой ловушки - это ловушка после получения, потому что она получает
все необходимые детали и не прервут нажатие на ошибку. Используйте следующее
сценарий:

#!/ Бен / ш

echo "отправка уведомления IRC"
пока читаю старое новое имя; делать
irkerhook --refname = $ {refname} $ (git rev-list --reverse $ {old} .. $ {new})
сделанный

Для удобства это реализовано вспомогательным скриптом irkerhook-git.

Предпочтения могут быть установлены в файле конфигурации репозитория в разделе [irker]. Вот пример
как это может выглядеть:

[иркер]
проект = gpsd
цвет = ANSI
каналы = irc: //chat.freenode.net/gpsd,irc: //chat.freenode.net/commit

Вы не должны устанавливать переменную «репозиторий» (будет вычислен эквивалент). Нет попытки
предназначен для интерпретации файла irker.conf.

Значением по умолчанию переменной "project" является базовое имя каталога репозитория.
По умолчанию значение переменной urlprefix - cgit.

Есть одна специфичная для git переменная, "revformat", управляющая форматом фиксации.
идентификатор в уведомлении. Может иметь следующие значения:

сырье
полный шестнадцатеричный идентификатор фиксации

короткие
первые 12 символов шестнадцатеричного идентификатора

описывать
описать относительно последнего тега, возвращаясь к короткому

По умолчанию - «описать».

Подрывная деятельность
В Subversion irkerhook.py принимает параметр --repository со значением (абсолютное
путь к репозиторию Subversion) и аргумент фиксации (числовой уровень версии
коммита). По умолчанию это текущий рабочий каталог и HEAD соответственно.

Обратите внимание, однако, что вы не могу по умолчанию аргумент репозитория внутри Subversion
хук после фиксации; это из-за ограничения Subversion, заключающегося в том, что
текущий каталог внутри этих хуков ненадежен. Вместо этого значения должны быть двумя
аргументы, которые Subversion передает этому перехватчику в качестве аргументов. Таким образом, типичный вызов в
сценарий после фиксации будет выглядеть так:

РЕПО = $ 1
REV = 2 доллара США
irkerhook.py --repository = $ REPO $ REV

Другие параметры --variable = value также могут быть заданы в командной строке и будут иметь приоритет над
любые настройки в файле irker.conf.

По умолчанию для переменной проекта используется базовое имя репозитория. Значение по умолчанию
переменной urlprefix - это viewcvs.

Если файл irker.conf существует в корневом каталоге репозитория (не в каталоге проверки
но там, где существуют внутренние компоненты, такие как файл "формата"), ловушка будет интерпретировать переменную
настройки из него. Вот пример того, как может выглядеть такой файл:

# настройки переменных irkerhook для проекта irker
проект = irker
каналы = irc: //chat.freenode/irker,irc: //chat.freenode/commit
tcp = ложь

Не устанавливайте в этом файле переменные «репозиторий» или «фиксация»; это было бы несчастливым
результаты.

Нет никаких переменных, специфичных для Subversion.

ртутный
В Mercurial irkerhook.py можно вызывать двумя способами: либо как перехватчик Python.
(желательно) или в виде сценария.

Чтобы вызвать его как перехватчик Python, добавьте указатель к перехватчику «commit» или «incoming».
объявление в вашем репозитории Mercurial:

[крючки]
input.irker = python: /path/to/irkerhook.py: hg_hook

При вызове в качестве сценария ловушка принимает параметр --repository со значением (абсолютное
путь к репозиторию Mercurial) и может принимать аргумент фиксации (хэш Mercurial
ID коммита или ссылка на него). По умолчанию для аргумента репозитория используется
Текущий каталог. Аргумент фиксации по умолчанию - «-1», обозначающий текущую подсказку.
совершить.

Что касается git, в обоих случаях все переменные могут быть установлены в файле репозитория hgrc в [irker]
раздел. Командная строка аргументы переменная = значение принимаются, но не требуются для сценария
призыв. Не предпринимается никаких попыток интерпретировать файл irker.conf.

Значением по умолчанию переменной "project" является базовое имя каталога репозитория.
По умолчанию значение переменной urlprefix - это значение конфигурации web.baseurl.
значение, если оно существует.

фильтрация
Перед отправкой в ​​irkerd можно фильтровать коммиты.

Вы должны указать фильтрcmd параметр, который будет командой irkerhook.py, которую будет запускать.
Эта команда должна принимать один аргумент, который представляет собой JSON-представление фиксации и
метаданные экстрактора (включая переменную каналов). Команда должна выдать стандартный
вывести JSON-представление (возможно, измененных) метаданных.

Ниже приведен пример фильтра:

#!/ usr / bin / env питон
# Это тривиальный пример фильтра метаданных.
# Все, что он делает, это меняет имя автора коммита.
#
импорт sys, json
метаданные = json.loads (sys.argv [1])

metadata ['author'] = "Великая и могущественная страна Оз"

Распечатать json.dumps(метаданные)
# конец

Стандартная ошибка доступна ловушке для сообщений о ходе и ошибках.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


irkerhook.py принимает следующие параметры:

-n
Запретить передачу демону. Вместо этого выгрузите сгенерированный запрос JSON в
стандартный вывод. Полезно для отладки.

-V
Запишите версию программы на стандартный вывод и завершите работу.

Используйте irkerhook онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad