англійськафранцузькаіспанська

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] [[--змінна=значення...]] [[commit-id...]]

ОПИС


irkerhook.py — це скрипт Python, призначений для виклику з гачка після фіксації
репозиторій керування версіями. Його завдання — збирати інформацію про вчинений комміт
гачок (і, можливо, налаштування, встановлені власником репозитарію) і відправити цю інформацію
до екземпляра irkerd для пересилання на різні канали оголошень.

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

1. Виклики до утиліт VCS.

2. У VCS, як-от git, які підтримують змінні конфігурації, що встановлюються користувачем, змінні з
префікс «irker.».

3. В інших VCS, файл конфігурації, "irker.conf", у внутрішній частині репозиторію
каталог.

4. Аргументи командного рядка у вигляді --змінна=значення.

Наступні змінні є загальними для всіх підтримуваних VCS:

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

репо
Ім'я каталогу верхнього рівня сховища. Якщо не вказано, за замовчуванням значення a
копія назви проекту в нижньому регістрі.

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

сервер
Хост, на якому, як очікується, буде перебувати демон irker, що передає сповіщення.
За замовчуванням «локальний хост».

e-mail
Якщо встановлено, використовуйте для зв’язку електронну пошту, а не TCP чи UDP. Значення використовується як
цільова поштова адреса.

тпп
Якщо "true", використовуйте TCP для зв'язку; якщо "false", використовуйте UDP. За замовчуванням встановлено значення "false".

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

Якщо значення цієї змінної «Немає», генерація поля URL-адреси в коміті
сповіщення буде припинено. Іншими магічними значеннями є "cgit", "gitweb" і
"viewcvs", які розширюються на шаблони URL-адрес, які зазвичай працюють із цими системами.

У цій URL-адресі можуть зустрічатися чарівні файли cookie "%(host)s" і %(repo)s. Перший
розширено на FQDN хоста, на якому запущено irkerhook.py; останнє є
розгорнуто до значення змінної "repo".

мініатюрний засіб
Шаблон URL-адрес, що вказує на службу для стиснення URL-адрес, щоб вони займали менше
місце в рядку сповіщень. Якщо значення цієї змінної "Немає", ні
буде зроблена спроба стиснення.

color
Якщо «mIRC», виділіть поля сповіщень із колірними кодами mIRC. Якщо "ANSI", виділіть
поля сповіщень з escape-послідовністю кольору ANSI. За замовчуванням "none" (без кольорів).
Коди ANSI підтримуються в Chatzilla, irssi, ircle і BitchX; Є лише коди mIRC
розпізнається в mIRC, XChat, KVirc, Konversation або weechat.

Примітка. Якщо ви ввімкнете цю функцію, а сповіщення перестануть з’являтися на вашому каналі, вам потрібно
щоб вимкнути колірний фільтр IRC на цьому каналі. Для цього вам знадобиться оп
привілеї; введіть команду "/mode -с" з замінено вашим
назву каналу. Можливо, вам доведеться спочатку ввести команду "/msg chanserv set
MLOCK +nt-slk".

maxchannels
Інтерпретується як ціле число. Якщо не дорівнює нулю, обмежує кількість каналів, які використовуватиме хук
інтерпретувати зі змінної "channels".

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

cialike
Якщо не порожній і не "Немає" (за замовчуванням), це емулює стару поведінку ЦРУ
відкидання довгих списків файлів на користь резюме форми (N файлів у M
довідники). Значення має бути числовим, що дає порогове значення для довжини
список файлів у символах.

мерзотник
У git звичайний спосіб викликати цей хук (з гачка оновлення) передає йому a
refname, за яким слідує список комітів. Тому що мерзотник рев-лист зазвичай списки з більшості
від останніх до найстаріших, ви захочете використовувати --reverse, щоб сповіщення були пропущені
хронологічному порядку. У звичайному сценарії оновлення виклик має виглядати так

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

за винятком того, що вам знадобиться абсолютний шлях для irkerhook.py.

Для цілей тестування та зворотної сумісності, якщо ви викликаєте irkerhook.py з no
аргументи (як у хуку після фіксації) він буде вести себе так, як ніби його викликали
це:

irkerhook.py --refname=refs/heads/master HEAD

Однак це не дасть належного результату, коли ви натискаєте на гілку a, яка не є типовою
голе репо.

Типовий спосіб встановлення цього хука насправді полягає в гачку після отримання, оскільки він отримує
всі необхідні деталі і не перерве натискання на збій. Використовуйте наступне
сценарій:

#!/ Бен / ш

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/commits

Ви не повинні встановлювати змінну "repository" (буде обчислено еквівалент). Жодної спроби
призначений для інтерпретації файлу irker.conf.

Значенням за замовчуванням змінної «проект» є базова назва каталогу сховища.
Значенням за замовчуванням змінної "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 існує в кореневому каталозі сховища (не в каталозі checkout
але там, де існують внутрішні елементи, такі як файл "формату", хук інтерпретує змінну
налаштування з нього. Ось приклад того, як може виглядати такий файл:

# налаштування змінної irkerhook для проекту irker
проект = irker
канали = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = false

Не встановлюйте змінні "repository" або "commit" у цьому файлі; це було б нещасним
результати.

Немає змінних, що стосуються Subversion.

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

Щоб назвати його як хук Python, додайте colowing до хука "commit" або "incoming"
декларація у вашому сховищі Mercurial:

[гачки]
incoming.irker = python:/path/to/irkerhook.py:hg_hook

При виклику як сценарій хук приймає параметр --repository зі значенням (абсолютним
шлях до репозиторію Mercurial) і може приймати аргумент фіксації (хеш Mercurial
Ідентифікатор коміту або посилання на нього). За замовчуванням для аргументу репозиторію є
поточний каталог. Аргументом фіксації за замовчуванням є '-1', що позначає поточну підказку
вчинити.

Що стосується git, то в обох випадках усі змінні можуть бути встановлені у файлі repo hgrc у файлі [irker]
розділ. Аргументи змінна = значення командного рядка приймаються, але не є обов’язковими для сценарію
заклик. Не робиться жодних спроб інтерпретувати файл irker.conf.

Значенням за замовчуванням змінної «проект» є базова назва каталогу сховища.
Значенням за замовчуванням змінної "urlprefix" є значення конфігурації "web.baseurl"
значення, якщо воно існує.

фільтрація
Перед відправкою irkerd можна відфільтрувати коміти.

Ви повинні вказати filtercmd параметр, який буде запущено командою irkerhook.py.
Ця команда повинна приймати один аргумент, який є представленням JSON коміту і
метадані екстрактора (включаючи змінну каналів). Команда повинна видавати стандарт
вивести JSON-подання (можливо змінених) метаданих.

Нижче наведено приклад фільтра:

#!/usr/bin/env пітон
# Це тривіальний приклад фільтра метаданих.
# Все, що він робить, це змінює ім'я автора коміту.
#
імпортувати sys, json
метадані = json.loads(sys.argv[1])

metadata['author'] = "Великий і могутній Оз"

друк json.dumps(метадані)
#кінець

Стандартна помилка доступна хуку для повідомлень про прогрес і помилки.

ВАРІАНТИ


irkerhook.py приймає такі параметри:

-n
Придушити передачу демону. Замість цього створюйте дамп згенерованого запиту JSON
стандартний вихід. Корисно для налагодження.

-V
Запишіть версію програми в stdout і завершите роботу.

Використовуйте irkerhook онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad