EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

irkerhook - Online în cloud

Rulați irkerhook în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda irkerhook care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


irkerhook - script de hook de depozit care emite notificări irker

REZUMAT


irkerhook.py [-n] [-V] [[--variabila=valoare...]] [[commit-id...]]

DESCRIERE


irkerhook.py este un script Python destinat a fi apelat din hook-ul post-commit al unui
depozitul de control al versiunilor. Sarcina sa este de a colecta informații despre comiterea care a declanșat
cârligul (și eventual preferințele stabilite de proprietarul depozitului) și expediați acele informații
la o instanță de irkerd pentru redirecționare către diverse canale de anunț.

Invocarea și comportamentul corect al lui irkerhook.py variază în funcție de VCS
(sistem de control al versiunii) îl numește. Există patru locuri diferite din care poate
extrage informatii:

1. Apeluri către utilitarele VCS.

2. În VCS-uri precum git care acceptă variabile de configurare setabile de utilizator, variabile cu
prefixul „irker.”.

3. În alte VCS-uri, un fișier de configurare, „irker.conf”, în interiorul depozitului
director.

4. Argumente de linie de comandă de forma --variable=valoare.

Următoarele variabile sunt generale pentru toate VCS-urile acceptate:

proiect
Numele proiectului. Ar trebui să fie un identificator relativ scurt; va apărea de obicei
chiar la începutul unei notificări.

repo
Numele directorului de nivel superior al depozitului. Dacă nu este specificat, implicit este a
copie cu minuscule a numelui proiectului.

canale
O adresă URL a canalului IRC sau o listă separată prin virgulă, care identifică canalele către care
se vor trimite notificări. Dacă nu este specificat, valoarea implicită este freenode #commits
canal.

serverul
Gazda pe care se așteaptă să locuiască demonul irker care transmite notificări.
Implicit, „localhost”.

e-mail
Dacă este setat, utilizați e-mailul pentru comunicare în loc de TCP sau UDP. Valoarea este folosită ca
adresa de e-mail țintă.

tcp
Dacă „adevărat”, utilizați TCP pentru comunicare; dacă este „fals”, utilizați UDP. Implicit, „fals”.

urlprefix
Prefixul URL al setului de modificări pentru depozitul dvs. Când ID-ul de comitere este adăugat la acesta, ar trebui
indicați spre un CGI care va afișa commit-ul prin cgit, gitweb sau ceva similar.
Valorile implicite vor funcționa probabil dacă aveți o configurație tipică gitweb/cgit.

Dacă valoarea acestei variabile este „Niciuna”, generarea câmpului URL în commit
notificările vor fi suprimate. Alte valori magice sunt „cgit”, „gitweb” și
„viewcvs”, care se extind la șabloane URL care vor funcționa de obicei cu acele sisteme.

Cookie-urile magice „%(host)s” și %(repo)s” pot apărea în această adresă URL. Primul este
extins la FQDN-ul gazdei pe care rulează irkerhook.py; acesta din urmă este
extins la valoarea variabilei „repo”.

micificator
Șablon de URL care indică un serviciu pentru comprimarea adreselor URL, astfel încât acestea să ocupe mai puțin
spațiu în linia de notificare. Dacă valoarea acestei variabile este „Niciuna”, nu
se va încerca compresia.

culoare
Dacă „mIRC”, evidențiați câmpurile de notificare cu coduri de culoare mIRC. Dacă „ANSI”, evidențiați
câmpuri de notificare cu secvențe de escape de culoare ANSI. Implicit, „niciunul” (fără culori).
Codurile ANSI sunt acceptate în Chatzilla, irssi, ircle și BitchX; Numai codurile mIRC sunt
recunoscut în mIRC, XChat, KVirc, Konversation sau weechat.

Notă: dacă activați acest lucru și notificările nu mai apar pe canalul dvs., aveți nevoie
pentru a dezactiva filtrul de culoare al IRC pe acel canal. Pentru a face acest lucru veți avea nevoie de op
privilegii; lansați comanda „/mode -c" cu înlocuit cu dvs
numele canalului. Poate fi necesar să lansați mai întâi comanda „/msg chanserv set
MLOCK +nt-slk".

maxchannels
Interpretat ca un număr întreg. Dacă nu este zero, limitează numărul de canale pe care le va avea hook
interpretați din variabila „canale”.

Această variabilă nu poate fi setată prin variabilele de configurare VCS sau irker.conf; poate
fie setat doar cu un argument de linie de comandă. Astfel, pe un site forja în care depozit
proprietarii nu au voie să-și modifice scripturile post-comitare, un administrator de site poate
setați-l pentru a preveni spam-ul cu puștile de către proprietarii de proiecte rău intenționați. Setarea acesteia la o valoare
mai puțin de 2, totuși, ar fi probabil neînțelept.

cialike
Dacă nu este gol și nu „Niciunul” (implicit), aceasta emulează vechiul comportament al CIA
eliminarea listelor lungi de fișiere în favoarea unui rezumat al formularului (N fișiere în M
directoare). Valoarea trebuie să fie numerică, oferind o valoare de prag pentru lungimea
lista de fișiere în caractere.

merge
Sub git, modalitatea normală de a invoca acest hook (din interiorul hook-ului de actualizare) îl trece a
refname urmat de o listă de comiteri. pentru că merge rev-list în mod normal liste de la majoritatea
de la cel mai vechi la cel mai vechi, veți dori să utilizați --reverse pentru a face ca notificările să fie omise
ordine cronologica. Într-un script de actualizare normal, invocarea ar trebui să arate astfel

refname=$1
vechi=2$
nou=3 USD
irkerhook.py --refname=${refname} $(git rev-list --reverse ${vechi}..${nou})

cu excepția faptului că veți avea nevoie de o cale absolută pentru irkerhook.py.

În scopuri de testare și compatibilitate inversă, dacă invocați irkerhook.py cu nr
argumente (ca într-un cârlig post-commit) se va comporta ca și cum ar fi fost numit like
acest:

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

Cu toate acestea, acest lucru nu va da rezultatul corect atunci când împingeți către o ramură care nu este implicită a a
bare repo.

Un mod obișnuit de a instala acest cârlig este de fapt în cârligul de post-primire, pentru că devine
toate detaliile necesare și nu va anula împingerea la eșec. Foloseste urmatoarele
scenariu:

#!/ Bin / sh

echo „trimiterea notificării IRC”
în timp ce citește vechiul nou refname; do
irkerhook --refname=${refname} $(git rev-list --reverse ${vechi}..${nou})
făcut

Pentru comoditate, acest lucru este implementat de scriptul helper irkerhook-git.

Preferințele pot fi setate în fișierul de configurare repo într-o secțiune [irker]. Iată un exemplu
despre cum poate arăta:

[irker]
proiect = gpsd
culoare = ANSI
canale = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

Nu ar trebui să setați variabila „depozitar” (va fi calculat un echivalent). Nici o incercare
este făcut pentru a interpreta un fișier irker.conf.

Valoarea implicită a variabilei „proiect” este numele de bază al directorului depozitului.
Valoarea implicită a variabilei „urlprefix” este „cgit”.

Există o variabilă specifică git, „revformat”, care controlează formatul commit-ului
identificator într-o notificare. Poate avea următoarele valori:

crud
ID-ul complet hexadecimal al comiterii

mic de statura
primele 12 caractere ale ID hexadecimal

descrie
descrie relativ la ultima etichetă, revenind la scurt

Valoarea implicită este „descrie”.

Subversion
În Subversion, irkerhook.py acceptă o opțiune --repository cu valoare (valoarea absolută
calea depozitului Subversion) și un argument commit (nivelul de revizuire numerică
a comiterii). Valorile implicite sunt directorul de lucru curent și, respectiv, HEAD.

Rețineți, totuși, că dvs nu poti implicit argumentul depozitului din interiorul unui Subversion
cârlig post-comitare; acest lucru se datorează unei limitări a Subversion, care este că obținerea
directorul curent nu este de încredere în aceste cârlige. În schimb, valorile trebuie să fie cele două
argumente pe care Subversion le transmite acelui cârlig ca argumente. Astfel, o invocare tipică în
scriptul post-commit va arăta astfel:

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

Alte setări --variable=value pot fi date și pe linia de comandă și vor înlocui
orice setări dintr-un fișier irker.conf.

Valoarea implicită pentru variabila de proiect este numele de bază al depozitului. Valoarea implicită
a variabilei „urlprefix” este „viewcvs”.

Dacă un fișier irker.conf există în directorul rădăcină al depozitului (nu în directorul de checkout
dar acolo unde elementele interne, cum ar fi fișierul „format” în direct), cârligul va interpreta variabila
setările din acesta. Iată un exemplu despre cum ar putea arăta un astfel de fișier:

# setări variabile irkerhook pentru proiectul irker
proiect = irker
canale = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = fals

Nu setați variabilele „depozitare” sau „commit” în acest fișier; asta ar fi nefericit
rezultate.

Nu există variabile specifice Subversion.

ager
Sub Mercurial, irkerhook.py poate fi invocat în două moduri: fie ca hook Python
(de preferat) sau ca scenariu.

Pentru a-l numi ca hook Python, adaugă codul la cârligul „commit” sau „incoming”
declarație în depozitul dvs. Mercurial:

[cârlige]
incoming.irker = python:/path/to/irkerhook.py:hg_hook

Când este apelat ca script, cârligul acceptă o opțiune --repository cu valoare (absolutul
calea depozitului Mercurial) și poate lua un argument de confirmare (hash-ul Mercurial
ID-ul comiterii sau o referință la acesta). Valoarea implicită pentru argumentul de depozit este
directorul curent. Argumentul de comitere implicit este „-1”, desemnând sfatul curent
comite.

În ceea ce privește git, în ambele cazuri toate variabilele pot fi setate în fișierul hgrc repo într-un [irker]
secțiune. Argumentele variabilă=valoare din linia de comandă sunt acceptate, dar nu sunt necesare pentru script
invocare. Nu se încearcă interpretarea unui fișier irker.conf.

Valoarea implicită a variabilei „proiect” este numele de bază al directorului depozitului.
Valoarea implicită a variabilei „urlprefix” este valoarea configurației „web.baseurl”.
valoare, dacă există.

Filtrare
Este posibil să filtrați comite-urile înainte de a le trimite către irkerd.

Trebuie să specificați filtercmd opțiunea, care va fi comanda pe care o va rula irkerhook.py.
Această comandă ar trebui să accepte un argument, care este o reprezentare JSON a commit și
metadate ale extractorului (inclusiv variabila canale). Comanda ar trebui să emită la standard
emite o reprezentare JSON a metadatelor (eventual modificate).

Mai jos este un exemplu de filtru:

#!/usr/bin/env piton
# Acesta este un exemplu banal de filtru de metadate.
# Tot ce face este să schimbe numele autorului comiterii.
#
import sys, json
metadate = json.loads(sys.argv[1])

metadata['author'] = „Marele și puternicul Oz”

imprima json.dumps(metadate)
# Sfârșit

Eroarea standard este disponibilă pentru cârlig pentru mesajele de progres și de eroare.

OPŢIUNI


irkerhook.py are următoarele opțiuni:

-n
Suprimați transmiterea către un demon. În schimb, descărcați cererea JSON generată la
ieșire standard. Util pentru depanare.

-V
Scrieți versiunea programului în stdout și terminați.

Utilizați irkerhook online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad