英語フランス語スペむン語

Ad


OnWorksファビコン

irkerhook - クラりドでオンラむン

Ubuntu Online、Fedora Online、Windows オンラむン ゚ミュレヌタヌ、たたは MAC OS オンラむン ゚ミュレヌタヌを介しお、OnWorks の無料ホスティング プロバむダヌで irkerhook を実行したす。

これは、Ubuntu Online、Fedora Online、Windows オンラむン ゚ミュレヌタヌ、MAC OS オンラむン ゚ミュレヌタヌなど、耇数の無料オンラむン ワヌクステヌションのいずれかを䜿甚しお、OnWorks 無料ホスティング プロバむダヌで実行できるコマンド irkerhook です。

プログラム

NAME


irkerhook - irker 通知を発行するリポゞトリ フック スクリプト

SYNOPSIS


irkerhook.py [-n] [-V] [[--倉数=倀...]] [[コミット ID...]]

DESCRIPTION


irkerhook.py は、コミット埌のフックから呌び出されるこずを意図した Python スクリプトです。
バヌゞョン管理リポゞトリ。 その仕事は、発生したコミットに関する情報を収集するこずです
フック (および堎合によっおはリポゞトリ所有者によっお蚭定された蚭定) を送信し、その情報を送信したす。
さたざたなアナりンス チャネルに転送するための irkerd のむンスタンスに。

irkerhook.py の適切な呌び出しず動䜜は、VCS によっお異なりたす。
バヌゞョン管理システムがそれを呌び出しおいたす。 XNUMX ぀の異なる堎所がありたす。
情報を抜出:

1. VCS ナヌティリティの呌び出し。

2. ナヌザヌ蚭定可胜な構成倉数をサポヌトする git のような VCS では、
接頭蟞「irker.」。

3. 他の VCS では、リポゞトリの内郚にある構成ファむル「irker.conf」
ディレクトリにありたす。

4. --variable=value 圢匏のコマンドラむン匕数。

次の倉数は、サポヌトされおいるすべおの VCS に共通です。

プロゞェクト
プロゞェクトの名前。 比范的短い識別子にする必芁がありたす。 普通に珟れる
通知の最初に。

レポ
リポゞトリの最䞊䜍ディレクトリの名前。 指定しない堎合、デフォルトは
プロゞェクト名の小文字のコピヌ。

チャンネル
IRC チャンネルの URL、たたは同じものをコンマで区切ったリストで、チャンネルを識別したす。
通知が送信されたす。 指定しない堎合、デフォルトは freenode #commits です。
チャンネル。


通知を䞭継する irker デヌモンが存圚するず予想されるホスト。
デフォルトは「localhost」です。

email
蚭定するず、通信に TCP や UDP ではなく電子メヌルを䜿甚したす。 倀は、
察象のメヌルアドレス。

TCP
「true」の堎合、通信に TCP を䜿甚したす。 「false」の堎合、UDP を䜿甚したす。 デフォルトは「false」です。

URLプレフィックス
リポゞトリのチェンゞセット URL プレフィックス。 これにコミット ID を远加する堎合は、
cgit、gitweb、たたは同様のものを介しおコミットを衚瀺する CGI をポむントしたす。
兞型的な gitweb/cgit セットアップを䜿甚しおいる堎合は、おそらくデフォルトで機胜したす。

この倉数の倀が「なし」の堎合、commit での URL フィヌルドの生成
通知が抑制されたす。 他の魔法の倀は、「cgit」、「gitweb」、および
これらのシステムで通垞動䜜する URL テンプレヌトに展開される「viewcvs」。

このURLにはマゞッククッキヌ「%(host)s」ず「%(repo)s」が発生する堎合がありたす。前者は
irkerhook.py が実行されおいるホストの FQDN に展開されたす。 埌者は
「repo」倉数の倀に展開されたす。

小型化
URL を圧瞮するためのサヌビスを指し瀺す URL テンプレヌト。
通知行のスペヌス。 この倉数の倀が「なし」の堎合、いいえ
圧瞮が詊みられたす。

カラヌ
「mIRC」の堎合、通知フィヌルドを mIRC カラヌ コヌドで匷調衚瀺したす。 「ANSI」の堎合はハむラむト
ANSI カラヌ ゚スケヌプ シヌケンスを含む通知フィヌルド。 デフォルトは「なし」色なしです。
ANSI コヌドは、Chatzilla、irssi、ircle、および BitchX でサポヌトされおいたす。 mIRC コヌドのみ
mIRC、XChat、KVirc、Konversation、たたは weechat で認識されたす。

泚: これをオンにしお、チャンネルに通知が衚瀺されなくなった堎合は、
そのチャンネルのIRCのカラヌフィルタヌをオフにしたす。 これを行うには、opが必芁です
特暩; コマンド「/モヌド」を発行したす-c」であなたの
チャンネル名。 最初にコマンド「/msg chanserv set」を発行する必芁がある堎合がありたす
MLOCK +nt-slk".

最倧チャネル数
敎数ずしお解釈されたす。 れロでない堎合、フックが䜿甚するチャンネル数を制限したす
「channels」倉数から解釈したす。

この倉数は、VCS 蚭定倉数たたは irker.conf を介しお蚭定するこずはできたせん。 できる
コマンドラむン匕数でのみ蚭定できたす。 したがっお、リポゞトリのある鍛造サむトで
所有者はコミット埌のスクリプトを倉曎できたせんが、サむト管理者は倉曎できたす
悪意のあるプロゞェクト オヌナヌによるショットガン スパムを防止するために蚭定したす。 倀に蚭定する
ただし、2 未満はおそらく賢明ではありたせん。

シアラむク
空ではなく、「なし」(デフォルト) でない堎合、これは叀い CIA の動䜜を゚ミュレヌトしたす。
ファむルの長いリストを削陀しお、フォヌムの芁玄を優先したす (M の N ファむル
ディレクトリ。 倀は、長さのしきい倀を瀺す数倀でなければなりたせん。
文字のファむルリスト。

git
git では、このフックを (曎新フック内から) 呌び出す通垞の方法で、
refname の埌にコミットのリストが続きたす。 なぜなら git リビゞョンリスト 通垞、ほずんどのリストから
--reverse を䜿甚しお通知を省略したす。
幎代順。 通垞の曎新スクリプトでは、呌び出しは次のようになりたす。

参照名=$1
叀い=$2
新芏=$3
irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${new})

ただし、irkerhook.py の絶察パスが必芁です。

テスト目的ず䞋䜍互換性のために、irkerhook.py を䜕も指定せずに呌び出すず、
匕数 (コミット埌のフックのように) のように呌び出されたかのように動䜜したす。
この

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

ただし、デフォルト以倖のブランチにプッシュするず、正しい結果が埗られたせん。
ベアレポ。

このフックをむンストヌルする䞀般的な方法は、実際には post-receive フックにありたす。
必芁なすべおの詳现を入力し、倱敗しおもプッシュを䞭止したせん。 以䞋を䜿甚したす
スクリプト

#!/bin/sh

echo "IRC 通知を送信しおいたす"
while read old new refname; 行う
irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new})
行われ

䟿宜䞊、これは irkerhook-git ヘルパヌ スクリプトによっお実装されおいたす。

蚭定は、[irker] セクションのリポゞトリ構成ファむルで蚭定できたす。 ここに䟋がありたす
それがどのように芋えるか

[アヌカヌ]
プロゞェクト = gpsd
色 = ANSI
チャンネル = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

「リポゞトリ」倉数を蚭定しないでください (同等の倀が蚈算されたす)。 詊行なし
irker.conf ファむルを解釈するように䜜られおいたす。

「プロゞェクト」倉数のデフォルト倀は、リポゞトリ ディレクトリのベヌス名です。
「urlprefix」倉数のデフォルト倀は「cgit」です。

コミットのフォヌマットを制埡する git 固有の倉数「revformat」が XNUMX ぀ありたす。
通知の識別子。 次の倀を持぀堎合がありたす。

生
コミットの完党な XNUMX 進数 ID

短い
12 進数 ID の最初の XNUMX 文字

説明する
最埌のタグに関連しお説明し、短いものにフォヌルバックしたす

デフォルトは「蚘述」です。

転芆
Subversion では、irkerhook.py は --repository オプションに倀 (絶察
Subversion リポゞトリのパス名) ず commit 匕数 (リビゞョン レベルの数倀)
コミットの。 デフォルトは、それぞれ珟圚の䜜業ディレクトリず HEAD です。

ただし、次のこずに泚意しおください。 Subversion 内のデフォルトのリポゞトリ匕数
ポストコミットフック; これは、Subversion の制限によるものです。
珟圚のディレクトリは、これらのフック内では信頌できたせん。 代わりに、倀は XNUMX ぀でなければなりたせん
Subversion がそのフックに匕数ずしお枡す匕数。 したがっお、兞型的な呌び出し
コミット埌のスクリプトは次のようになりたす。

レポ=$1
REV=$2
irkerhook.py --repository=$REPO $REV

他の --variable=value 蚭定もコマンドラむンで指定でき、䞊曞きされたす
irker.conf ファむル内のすべおの蚭定。

プロゞェクト倉数のデフォルトは、リポゞトリのベヌス名です。 デフォルト倀
「urlprefix」倉数の「viewcvs」です。

リポゞトリのルヌト ディレクトリ (チェックアりト ディレクトリではない) に irker.conf ファむルが存圚する堎合
ただし、「フォヌマット」ファむルなどの内郚が存圚する堎合) フックは倉数を解釈したす
そこから蚭定。 このようなファむルがどのように芋えるかの䟋を次に瀺したす。

# irker プロゞェクトの irkerhook 倉数蚭定
プロゞェクト = アヌカヌ
チャンネル = irc://chat.freenode/irker,irc://chat.freenode/commits
TCP = 停

このファむルに「リポゞトリ」たたは「コミット」倉数を蚭定しないでください。 それは䞍幞だったでしょう
結果。

Subversion 固有の倉数はありたせん。

掻発
Mercurial では、irkerhook.py は XNUMX ぀の方法で呌び出すこずができたす: Python フックずしお
(掚奚) たたはスクリプトずしお。

Python フックずしお呌び出すには、"commit" たたは "incoming" フックに以䞋を远加したす。
Mercurial リポゞトリでの宣蚀:

[フック]
着信.irker = python:/path/to/irkerhook.py:hg_hook

スクリプトずしお呌び出されるず、フックは --repository オプションず倀 (絶察
Mercurial リポゞトリのパス名) および commit 匕数 (Mercurial ハッシュ
コミットの ID たたはそれぞの参照)。 リポゞトリ匕数のデフォルトは
カレントディレクトリ。 デフォルトの commit 匕数は「-1」で、珟圚のヒントを指定したす
コミット。

git に関しおは、どちらの堎合も、すべおの倉数を [irker] 内のリポゞトリ hgrc ファむルに蚭定できたす。
セクション。 コマンドラむン variable=value 匕数は受け入れられたすが、スクリプトには必須ではありたせん
呌び出し。 irker.conf ファむルの解釈は詊みられたせん。

「プロゞェクト」倉数のデフォルト倀は、リポゞトリ ディレクトリのベヌス名です。
「urlprefix」倉数のデフォルト倀は、「web.baseurl」構成の倀です。
倀 (存圚する堎合)。

フィルタリング
irkerd に送信する前にコミットをフィルタリングするこずができたす。

を指定する必芁がありたす フィルタヌコマンド このオプションは、irkerhook.py が実行するコマンドになりたす。
このコマンドは、commit の JSON 衚珟である XNUMX ぀の匕数を受け入れる必芁がありたす。
゚クストラクタ メタデヌタ (channels 倉数を含む)。 コマンドは暙準に発行する必芁がありたす
(倉曎されおいる可胜性がある) メタデヌタの JSON 衚珟を出力したす。

以䞋はフィルタヌの䟋です。

#!/ usr / bin / env パむ゜ン
# これはメタデヌタ フィルタヌの簡単な䟋です。
# コミットの䜜成者の名前を倉曎するだけです。
#
むンポヌトsys、json
メタデヌタ = json.loads(sys.argv[1])

metadata['author'] = "偉倧でパワフルなオズ"

印刷 json.ダンプ(メタデヌタ)
 終わり

暙準゚ラヌは、進行状況ず゚ラヌ メッセヌゞのフックで䜿甚できたす。

OPTIONS


irkerhook.py は次のオプションを取りたす:

-n
デヌモンぞの送信を抑制したす。 代わりに、生成された JSON リク゚ストを
暙準出力。 デバッグに圹立ちたす。

-V
プログラムのバヌゞョンを stdout に曞き蟌み、終了したす。

onworks.net サヌビスを䜿甚しおオンラむンで irkerhook を䜿甚する


無料のサヌバヌずワヌクステヌション

Windows ず Linux のアプリをダりンロヌド

Linuxコマンド

Ad