IRKERHOOK(1) Commands IRKERHOOK(1) (NAME) irkerhook - irker (SYNOPSIS) irkerhook.py [-n] [-V] [[--variable=value...]] [[commit-id...]] (DESCRIPTION) irkerhook.py Python post-commit . ( ) irkerd . irkerhook.py VCS ( ) . : 1. VCS. 2. git "irker.". 3. "irker.conf" . 4. --variable=value. : project . . repo . . channels URL IRC . #commits freenode . server irker . "localhost" . email TCP UDP . . tcp "true" TCP "false" UDP . "false" . urlprefix URL (Changeset) . CGI cgit gitweb . gitweb/cgit . "None" URL . "cgit" "gitweb" "viewcvs" URL . "%(host)s" "%(repo)s" URL . FQDN irkerhook.py "repo" . tinyifier URL URL . "None" . color "mIRC" mIRC . "ANSI" ANSI . "none" ( ) . ANSI Chatzilla irssi ircle BitchX mIRC mIRC XChat KVirc Konversation weechat . : IRC . (op) "/mode -c" . "/msg chanserv set MLOCK +nt-slk" . maxchannels . "channels" . VCS irker.conf . (forge) post-commit (shotgun spamming) . . cialike "None" () CIA (N files in M directories) . . template . git hg . %() . irkerhook.py python 2 python 3 mercurial python 3 ..SS "git" git ( update) (refname) . git rev-list --reverse . update : refname=$1 old=$2 new=$3 irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${new}) irkerhook.py . irkerhook.py ( post-commit ) : irkerhook.py --refname=refs/heads/master HEAD bare push . post-receive push . : #!/bin/sh echo "sending IRC notification" while read old new refname; do irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new}) done config [irker] . : [irker] project = gpsd color = ANSI channels = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits "repository" ( ). irker.conf . "project" (basename) . "urlprefix" "cgit" . git "revformat" . : raw (hex) short describe (tag) short 'describe' . Subversion Subversion irkerhook.py --repository ( Subversion) commit ( ) . HEAD . repository post-commit Subversion Subversion . Subversion . post-commit : REPO=$1 REV=$2 irkerhook.py --repository=$REPO $REV --variable=value irker.conf . project (basename) . "urlprefix" "viewcvs" . irker.conf ( checkout "format" ) . : # irkerhook variable settings for the irker project project = irker channels = irc://chat.freenode/irker,irc://chat.freenode/commits tcp = false "repository" "commit" . Subversion ..SS "Mercurial" Mercurial irkerhook.py : Python ( ) . Python <> <> Mercurial : [hooks] incoming.irker = python:/path/to/irkerhook.py:hg_hook --repository ( Mercurial) commit ( Mercurial ) . . commit '-1' tip . git hgrc [irker] . variable=value . irker.conf . <> (basename) . <> <> . (Filtering) irkerd . filtercmd irkerhook.py . ( channels) JSON . JSON ( ) . : #!/usr/bin/env python3 # This is a trivial example of a metadata filter. # All it does is change the name of the commit's author. # import sys, json metadata = json.loads(sys.argv[1]) metadata['author'] = "The Great and Powerful Oz" print(json.dumps(metadata)) # end (standard error) . (OPTIONS) irkerhook.py : -n . JSON . . -V . (SEE ALSO) irkerd(8) (AUTHORS) Eric S. Raymond . http://www.catb.org/~esr/irker . irker 07/26/2026 IRKERHOOK(1)