Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

irkerhook - Online w chmurze

Uruchom irkerhook u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

To jest polecenie irkerhook, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


irkerhook - skrypt przechwytujący repozytorium wysyłający powiadomienia irker

STRESZCZENIE


irkerhook.py [-n] [-V] [[--zmienna=wartość...]] [[identyfikator popełnienia...]]

OPIS


irkerhook.py to skrypt Pythona przeznaczony do wywoływania z haka po zatwierdzeniu w a
repozytorium kontroli wersji. Jego zadaniem jest zbieranie informacji o zwolnionym commicie
hak (i ​​ewentualnie preferencje ustawione przez właściciela repozytorium) i wyślij te informacje
do instancji irkerd do przekazywania do różnych kanałów ogłoszeniowych.

Właściwe wywołanie i zachowanie irkerhook.py różni się w zależności od tego, który VCS
(system kontroli wersji) nazywa to. Istnieją cztery różne miejsca, z których może:
wyodrębnij informacje:

1. Wywołuje narzędzia VCS.

2. W systemach VCS, takich jak git, które obsługują zmienne konfiguracyjne ustawiane przez użytkownika, zmienne z
przedrostek „irker.”.

3. W innych systemach VCS plik konfiguracyjny „irker.conf” w wewnętrznej części repozytorium
katalogiem.

4. Argumenty wiersza poleceń w postaci --zmienna=wartość.

Następujące zmienne są ogólne dla wszystkich obsługiwanych systemów VCS:

projekt
Nazwa projektu. Powinien być stosunkowo krótkim identyfikatorem; zwykle się pojawi
na samym początku powiadomienia.

repo
Nazwa katalogu najwyższego poziomu repozytorium. Jeśli nie określono, domyślnie a
mała kopia nazwy projektu.

kanały
Adres URL kanału IRC lub lista oddzielonych przecinkami, identyfikująca kanały, do których
powiadomienia mają być wysyłane. Jeśli nie określono, domyślnie jest to freenode #commits
kanał.

serwer
Host, na którym powinien znajdować się demon ikera przekazujący powiadomienia.
Domyślnie „localhost”.

E-mail
Jeśli jest ustawiona, do komunikacji używaj poczty e-mail, a nie protokołu TCP lub UDP. Wartość jest używana jako
docelowy adres e-mail.

tcp
Jeśli „prawda”, użyj protokołu TCP do komunikacji; jeśli „fałsz”, użyj UDP. Domyślnie „fałsz”.

przedrostek adresu URL
Prefiks adresu URL zestawu zmian dla twojego repozytorium. Kiedy dołączony jest identyfikator zatwierdzenia, powinien:
wskaż CGI, które wyświetli zatwierdzenie przez cgit, gitweb lub coś podobnego.
Domyślne ustawienia prawdopodobnie będą działać, jeśli masz typową konfigurację gitweb/cgit.

Jeśli wartość tej zmiennej to „Brak”, generowanie pola adresu URL w zatwierdzeniu
powiadomienia zostaną wyłączone. Inne magiczne wartości to „cgit”, „gitweb” i
„viewcvs”, które rozwijają się do szablonów adresów URL, które zwykle działają z tymi systemami.

W tym adresie URL mogą występować magiczne pliki cookie „%(host)s” i %(repo)s”. Pierwszy z nich to
rozszerzone do nazwy FQDN hosta, na którym uruchomiony jest plik irkerhook.py; ten ostatni to
rozwinięty do wartości zmiennej "repo".

maleńki
Szablon adresu URL wskazujący usługę kompresującą adresy URL, dzięki czemu zajmują mniej
spacja w wierszu powiadomienia. Jeśli wartość tej zmiennej to „Brak”, nie
zostanie podjęta próba kompresji.

kolor
Jeśli „mIRC”, podświetl pola powiadomień za pomocą kodów kolorów mIRC. Jeśli „ANSI”, zaznacz
pola powiadomień z sekwencjami ucieczki kolorów ANSI. Domyślnie „brak” (brak kolorów).
Kody ANSI są obsługiwane w Chatzilla, irssi, ircle i BitchX; Tylko kody mIRC są
rozpoznawany w mIRC, XChat, KVirc, Konversation lub weechat.

Uwaga: jeśli to włączysz, a powiadomienia przestaną pojawiać się na Twoim kanale, musisz
aby wyłączyć filtr kolorów IRC na tym kanale. Aby to zrobić, będziesz potrzebować op
przywileje; wydaj polecenie "/tryb -c" z zastąpiony przez twój
Nazwa kanału. Być może będziesz musiał najpierw wydać polecenie "/msg chanserv set
MLOCK +nt-slk".

maxkanały
Interpretowane jako liczba całkowita. Jeśli nie jest zerem, ogranicza liczbę kanałów, które podpięcie będzie
interpretować ze zmiennej "channels".

Ta zmienna nie może być ustawiona za pomocą zmiennych konfiguracyjnych VCS lub iker.conf; to może
być ustawiane tylko za pomocą argumentu wiersza poleceń. Tak więc na stronie kuźni, w której repozytorium
właściciele nie mogą modyfikować swoich skryptów po zatwierdzeniu, administrator witryny może
ustawić go, aby zapobiec spamowaniu przez właścicieli złośliwych projektów. Ustawienie go na wartość
mniej niż 2 byłoby jednak prawdopodobnie nierozsądne.

ciacho
Jeśli nie jest pusty i nie „Brak” (domyślnie), to emuluje stare zachowanie CIA
porzucenie długich list plików na rzecz streszczenia formularza (N plików w M
katalogi). Wartość musi być liczbowa, podając wartość progową dla długości
lista plików w znakach.

odrzutowiec
W git normalny sposób wywołania tego haka (z wnętrza haka aktualizacji) przekazuje go a
refname po której następuje lista zatwierdzeń. Ponieważ odrzutowiec lista rewizji zwykle wymienia od większości
od najnowszego do najstarszego, użyj opcji --reverse, aby powiadomienia były pomijane w
porządek chronologiczny. W normalnym skrypcie aktualizacji wywołanie powinno wyglądać tak

nazwa ref = 1 $
stary=$2
nowy=3$
irkerhook.py --refname=${refname} $(git rev-list --reverse ${stary}..${nowy})

poza tym, że będziesz potrzebować bezwzględnej ścieżki dla irkerhook.py.

Do celów testowych i zgodności z poprzednimi wersjami, jeśli wywołasz irkerhook.py z no
argumenty (jak w haczyku po zatwierdzeniu) będzie się zachowywał tak, jakby został nazwany like
to:

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

Jednak nie da to właściwego wyniku, gdy wypchniesz do innej gałęzi a
nagie repozytorium.

Typowym sposobem instalacji tego haka jest haczyk po odbiorze, ponieważ robi się
wszystkie niezbędne szczegóły i nie przerwą nacisku na awarię. Użyj następujących
scenariusz:

#!/ Bin / sh

echo "wysyłanie powiadomienia IRC"
podczas czytania starego nowego refname; robić
irkerhook --refname=${refname} $(git rev-list --reverse ${stary}..${nowy})
zrobić

Dla wygody jest to zaimplementowane przez skrypt pomocniczy irkerhook-git.

Preferencje można ustawić w pliku konfiguracyjnym repozytorium w sekcji [irker]. Oto przykład
jak to może wyglądać:

[niespokojny]
projekt = gpsd
kolor = ANSI
kanały = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

Nie należy ustawiać zmiennej „repozytorium” (zostanie obliczony odpowiednik). Bez próby
ma na celu interpretację pliku irker.conf.

Domyślną wartością zmiennej "projekt" jest nazwa bazowa katalogu repozytorium.
Domyślną wartością zmiennej „urlprefix” jest „cgit”.

Istnieje jedna zmienna specyficzna dla git, „revformat”, kontrolująca format zatwierdzenia
identyfikator w powiadomieniu. Może mieć następujące wartości:

surowy
pełny identyfikator szesnastkowy zatwierdzenia

krótki
pierwsze 12 znaków identyfikatora szesnastkowego

opisać
opisz w odniesieniu do ostatniego tagu, wracając do skrótu

Wartość domyślna to „opis”.

Przewrót
W Subversion irkerhook.py akceptuje opcję --repository z wartością (bezwzględna
ścieżka do repozytorium Subversion) i argument zatwierdzenia (numeryczny poziom wersji)
zobowiązania). Wartości domyślne to odpowiednio bieżący katalog roboczy i HEAD.

Pamiętaj jednak, że ty nie może domyślnie argument repozytorium wewnątrz Subversion
hak po zatwierdzeniu; dzieje się tak z powodu ograniczenia Subversion, które polega na tym, że
bieżący katalog nie jest niezawodny wewnątrz tych zaczepów. Zamiast tego wartości muszą być dwoma
argumenty, które Subversion przekazuje do tego haka jako argumenty. Tak więc typowa inwokacja w
skrypt po zatwierdzeniu będzie wyglądał tak:

REPO = 1 USD
PRZYCHODY = 2 USD
irkerhook.py --repository=$REPO $REV

Inne ustawienia --variable=wartość mogą być również podane w wierszu poleceń i zostaną zastąpione
dowolne ustawienia w pliku irker.conf.

Domyślną wartością zmiennej projektu jest podstawowa nazwa repozytorium. Wartość domyślna
zmiennej „urlprefix” to „viewcvs”.

Jeśli plik irker.conf istnieje w katalogu głównym repozytorium (nie w katalogu checkout)
ale gdzie wewnętrzne, takie jak plik "format" na żywo), hook zinterpretuje zmienną
ustawienia z niego. Oto przykład tego, jak taki plik może wyglądać:

# ustawienia zmiennych irkerhook dla projektu irker
projekt = irker
kanały = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = fałsz

Nie ustawiaj w tym pliku zmiennych „repozytorium” ani „zatwierdź”; to byłoby nieszczęśliwe
wyników.

Nie ma zmiennych specyficznych dla Subversion.

rtęciowy
W Mercurial, irkerhook.py można wywołać na dwa sposoby: albo jako hook w Pythonie
(preferowane) lub jako skrypt.

Aby nazwać to podpięciem Pythona, dodaj collowing do podpięcia "commit" lub "incoming"
deklaracja w Twoim repozytorium Mercurial:

[haki]
przychodzące.irker = python:/ścieżka/do/irkerhook.py:hg_hook

Wywoływany jako skrypt, przechwycenie przyjmuje opcję --repository z wartością (bezwzględna
ścieżkę do repozytorium Mercurial) i może przyjąć argument zatwierdzenia (hasz Mercurial
identyfikator zatwierdzenia lub odniesienie do niego). Domyślnym argumentem repozytorium jest
bieżący katalog. Domyślny argument zatwierdzenia to „-1”, oznaczający bieżącą wskazówkę
popełnić.

Jeśli chodzi o git, w obu przypadkach wszystkie zmienne można ustawić w pliku hgrc repozytorium w [irker]
Sekcja. Argumenty wiersza polecenia zmienna=wartość są akceptowane, ale nie są wymagane w skrypcie
wezwanie. Nie podejmuje się próby interpretacji pliku iker.conf.

Domyślną wartością zmiennej "projekt" jest nazwa bazowa katalogu repozytorium.
Domyślną wartością zmiennej „urlprefix” jest wartość konfiguracji „web.baseurl”
wartość, jeśli istnieje.

Filtracja
Możliwe jest filtrowanie zatwierdzeń przed wysłaniem ich do irkerda.

Musisz określić filtr cmd opcja, która będzie poleceniem, które uruchomi irkerhook.py.
To polecenie powinno akceptować jeden argument, który jest reprezentacją JSON zatwierdzenia i
metadane ekstraktora (w tym zmienna channel). Polecenie powinno emitować do standardu
wyprowadzić reprezentację JSON (prawdopodobnie zmienionych) metadanych.

Poniżej przykładowy filtr:

#!/usr/bin/env pyton
# To jest trywialny przykład filtra metadanych.
# Wszystko, co robi, to zmiana nazwiska autora zatwierdzenia.
#
importuj sys, json
metadane = json.loads(sys.argv[1])

metadata['autor'] = "Wielki i potężny Oz"

json.zrzuty(metadane)
# kończyć się

Błąd standardowy jest dostępny dla haka dla komunikatów o postępie i błędach.

OPCJE


irkerhook.py ma następujące opcje:

-n
Pomiń transmisję do demona. Zamiast tego zrzuć wygenerowane żądanie JSON do
standardowe wyjście. Przydatne do debugowania.

-V
Zapisz wersję programu na standardowe wyjście i zakończ.

Korzystaj z irkerhook online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad