EnglishFrenchSpanyol

Ad


Favicon OnWorks

irkerhook - Dalam Talian di Awan

Jalankan irkerhook dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan irkerhook yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


irkerhook - skrip cangkuk repositori yang mengeluarkan pemberitahuan irker

SINOPSIS


irkerhook.py [-n] [-V] [[--pembolehubah=nilai...]] [[commit-id...]]

DESCRIPTION


irkerhook.py ialah skrip Python yang bertujuan untuk dipanggil daripada cangkuk pascakomit a
repositori kawalan versi. Tugasnya adalah untuk mengumpul maklumat tentang komit yang dipecat
cangkuk (dan mungkin pilihan yang ditetapkan oleh pemilik repositori) dan menghantar maklumat tersebut
kepada contoh irkerd untuk pemajuan ke pelbagai saluran pengumuman.

Seruan dan tingkah laku yang betul irkerhook.py berbeza-beza bergantung pada VCS yang mana
(sistem kawalan versi) memanggilnya. Terdapat empat tempat yang berbeza dari mana ia mungkin
ekstrak maklumat:

1. Panggilan ke utiliti VCS.

2. Dalam VCS seperti git yang menyokong pembolehubah konfigurasi boleh set pengguna, pembolehubah dengan
awalan "irker.".

3. Dalam VCS lain, fail konfigurasi, "irker.conf", dalam dalaman repositori
direktori.

4. Argumen baris perintah dalam bentuk --variable=value.

Pembolehubah berikut adalah umum kepada semua VCS yang disokong:

projek
Nama projek. Seharusnya pengecam yang agak pendek; biasanya akan muncul
pada permulaan pemberitahuan.

repo
Nama direktori peringkat atas repositori. Jika tidak dinyatakan, lalai kepada a
salinan huruf kecil nama projek.

saluran
URL saluran IRC, atau senarai dipisahkan koma yang sama, mengenal pasti saluran yang mana
pemberitahuan akan dihantar. Jika tidak dinyatakan, lalai ialah freenode #commits
saluran.

server
Hos tempat daemon irker penyampai pemberitahuan dijangka berada.
Lalai kepada "localhost".

e-mel
Jika ditetapkan, gunakan e-mel untuk komunikasi dan bukannya TCP atau UDP. Nilai digunakan sebagai
alamat mel sasaran.

tcp
Jika "benar", gunakan TCP untuk komunikasi; jika "salah", gunakan UDP. Lalai kepada "palsu".

urlprefix
Changeset awalan URL untuk repo anda. Apabila ID komit dilampirkan pada ini, ia sepatutnya
arahkan pada CGI yang akan memaparkan komit melalui cgit, gitweb atau sesuatu yang serupa.
Lalai mungkin akan berfungsi jika anda mempunyai persediaan gitweb/cgit biasa.

Jika nilai pembolehubah ini ialah "Tiada", penjanaan medan URL dalam komit
pemberitahuan akan disekat. Nilai ajaib lain ialah "cgit", "gitweb", dan
"viewcvs", yang berkembang kepada templat URL yang biasanya akan berfungsi dengan sistem tersebut.

Kuki ajaib "%(host)s" dan %(repo)s" mungkin berlaku dalam URL ini. Kuki pertama ialah
dikembangkan kepada FQDN hos yang irkerhook.py sedang berjalan; yang terakhir ialah
dikembangkan kepada nilai pembolehubah "repo".

pengecil
Templat URL yang menunjuk kepada perkhidmatan untuk memampatkan URL supaya ia akan menggunakan lebih sedikit
ruang dalam baris pemberitahuan. Jika nilai pembolehubah ini ialah "Tiada", tidak
pemampatan akan dicuba.

warna
Jika "mIRC", serlahkan medan pemberitahuan dengan kod warna mIRC. Jika "ANSI", serlahkan
medan pemberitahuan dengan urutan pelarian warna ANSI. Lalai kepada "tiada" (tiada warna).
Kod ANSI disokong dalam Chatzilla, irssi, ircle dan BitchX; Kod mIRC sahaja
diiktiraf dalam mIRC, XChat, KVirc, Perbualan atau weechat.

Nota: jika anda menghidupkan ini dan pemberitahuan berhenti muncul pada saluran anda, anda perlu
untuk mematikan penapis warna IRC pada saluran itu. Untuk melakukan ini, anda memerlukan op
keistimewaan; keluarkan arahan "/mode -c" dengan digantikan oleh anda
nama saluran. Anda mungkin perlu terlebih dahulu mengeluarkan arahan "/msg chanserv set
MLOCK +nt-slk".

maxchannels
Ditafsirkan sebagai integer. Jika tidak sifar, hadkan bilangan saluran yang akan digunakan oleh cangkuk
mentafsir daripada pembolehubah "saluran".

Pembolehubah ini tidak boleh ditetapkan melalui pembolehubah konfigurasi VCS atau irker.conf; ia boleh
hanya ditetapkan dengan hujah baris arahan. Oleh itu, pada tapak palsu di mana repositori
pemilik tidak dibenarkan mengubah suai skrip pascakomit mereka, pentadbir tapak boleh
tetapkannya untuk mengelakkan spam senapang patah oleh pemilik projek yang berniat jahat. Menetapkannya kepada nilai
kurang daripada 2, bagaimanapun, mungkin tidak bijak.

ciallike
Jika tidak kosong dan bukan "Tiada" (lalai), ini meniru tingkah laku CIA lama
menjatuhkan senarai panjang fail yang memihak kepada ringkasan borang (N fail dalam M
direktori). Nilai mestilah berangka yang memberikan nilai ambang untuk panjangnya
senarai fail dalam aksara.

pergi
Di bawah git, cara biasa untuk menggunakan cangkuk ini (dari dalam cangkuk kemas kini) melepasinya a
nama semula diikuti dengan senarai komit. Kerana pergi senarai semula biasanya senarai daripada kebanyakan
baru-baru ini kepada yang paling lama, anda perlu menggunakan --reverse untuk membuat pemberitahuan ditinggalkan
susunan kronologi. Dalam skrip kemas kini biasa, seruan sepatutnya kelihatan seperti ini

nama semula=$1
lama=$2
baharu=$3
irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${new})

kecuali anda memerlukan laluan mutlak untuk irkerhook.py.

Untuk tujuan ujian dan keserasian ke belakang, jika anda menggunakan irkerhook.py dengan no
argumen (seperti dalam cangkuk pasca-komit) ia akan berkelakuan seolah-olah ia telah dipanggil seperti
ini:

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

Walau bagaimanapun, ini tidak akan memberikan hasil yang betul apabila anda menolak ke cawangan bukan lalai a
repo kosong.

Cara biasa untuk memasang cangkuk ini sebenarnya dalam cangkuk pasca terima, kerana ia mendapat
semua butiran yang diperlukan dan tidak akan membatalkan dorongan kegagalan. Gunakan yang berikut
skrip:

#!/ Bin / sh

echo "menghantar pemberitahuan IRC"
semasa membaca nama semula baru lama; buat
irkerhook --refname=${nama semula} $(git rev-list --reverse ${old}..${new})
dilakukan

Untuk kemudahan, ini dilaksanakan oleh skrip pembantu irkerhook-git.

Keutamaan boleh ditetapkan dalam fail konfigurasi repo dalam bahagian [irker]. Berikut adalah contoh
daripada apa yang boleh kelihatan seperti:

[irker]
projek = gpsd
warna = ANSI
saluran = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

Anda tidak seharusnya menetapkan pembolehubah "repositori" (setara akan dikira). Tiada cubaan
dibuat untuk mentafsir fail irker.conf.

Nilai lalai pembolehubah "projek" ialah nama asas bagi direktori repositori.
Nilai lalai pembolehubah "urlprefix" ialah "cgit".

Terdapat satu pembolehubah khusus git, "revformat", mengawal format komit
pengecam dalam pemberitahuan. Ia mungkin mempunyai nilai berikut:

mentah
ID hex penuh komit

pendek
12 aksara pertama ID hex

menggambarkan
huraikan relatif kepada teg terakhir, kembali kepada pendek

Lalai ialah 'huraikan'.

Subversion
Di bawah Subversion, irkerhook.py menerima pilihan --repository dengan nilai (the absolute
nama laluan repositori Subversion) dan argumen komit (tahap semakan berangka
daripada komitmen). Lalai ialah direktori kerja semasa dan HEAD, masing-masing.

Walau bagaimanapun, ambil perhatian bahawa anda tidak boleh lalai hujah repositori di dalam Subversion
cangkuk pasca-komit; ini adalah kerana had Subversion, iaitu mendapatkan
direktori semasa tidak boleh dipercayai di dalam cangkuk ini. Sebaliknya, nilai mestilah dua
hujah yang Subversion beralih kepada cangkuk itu sebagai hujah. Oleh itu, doa biasa dalam
skrip post-commit akan kelihatan seperti ini:

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

Tetapan --variable=value lain juga boleh diberikan pada baris arahan, dan akan mengatasi
sebarang tetapan dalam fail irker.conf.

Lalai untuk pembolehubah projek ialah nama asas repositori. Nilai lalai
daripada pembolehubah "urlprefix" ialah "viewcvs".

Jika fail irker.conf wujud dalam direktori akar repositori (bukan direktori pembayaran
tetapi di mana dalaman seperti fail "format" hidup) cangkuk akan mentafsir pembolehubah
tetapan daripadanya. Berikut ialah contoh rupa fail sedemikian:

# tetapan pembolehubah irkerhook untuk projek irker
projek = irker
saluran = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = palsu

Jangan tetapkan pembolehubah "repositori" atau "komit" dalam fail ini; itu pasti tidak gembira
keputusan.

Tiada pembolehubah khusus Subversi.

Mercurial
Di bawah Mercurial, irkerhook.py boleh digunakan dalam dua cara: sama ada sebagai cangkuk Python
(diutamakan) atau sebagai skrip.

Untuk memanggilnya sebagai cangkuk Python, tambahkan collowing pada cangkuk "komit" atau "masuk".
pengisytiharan dalam repositori Mercurial anda:

[cangkuk]
incoming.irker = python:/path/to/irkerhook.py:hg_hook

Apabila dipanggil sebagai skrip, cangkuk menerima pilihan --repositori dengan nilai (the absolute
nama laluan repositori Mercurial) dan boleh mengambil hujah komit (cincang Mercurial
ID komit atau rujukan kepadanya). Lalai untuk hujah repositori ialah
direktori semasa. Argumen komit lalai ialah '-1', menandakan petua semasa
komited.

Bagi git, dalam kedua-dua kes semua pembolehubah boleh ditetapkan dalam fail repo hgrc dalam [irker]
bahagian. Pembolehubah baris perintah=argumen nilai diterima tetapi tidak diperlukan untuk skrip
seruan. Tiada percubaan dibuat untuk mentafsir fail irker.conf.

Nilai lalai pembolehubah "projek" ialah nama asas bagi direktori repositori.
Nilai lalai pembolehubah "urlprefix" ialah nilai konfigurasi "web.baseurl".
nilai, jika ia wujud.

Penapisan
Anda boleh menapis komit sebelum menghantarnya ke irkerd.

Anda perlu menentukan penapiscmd pilihan, yang akan menjadi arahan irkerhook.py akan dijalankan.
Perintah ini harus menerima satu hujah, yang merupakan perwakilan JSON bagi komit dan
metadata pengekstrak (termasuk pembolehubah saluran). Perintah harus dipancarkan kepada standard
mengeluarkan perwakilan JSON bagi metadata (mungkin diubah).

Di bawah ialah contoh penapis:

#!/usr/bin/env ular sawa
# Ini adalah contoh remeh penapis metadata.
# Apa yang dilakukan ialah menukar nama pengarang komit.
#
import sys, json
metadata = json.loads(sys.argv[1])

metadata['author'] = "Oz yang Hebat dan Berkuasa"

cetak json.dumps(metadata)
# tamat

Ralat standard tersedia pada cangkuk untuk kemajuan dan mesej ralat.

PILIHAN


irkerhook.py mengambil pilihan berikut:

-n
Sekat penghantaran kepada daemon. Sebaliknya, buang permintaan JSON yang dijana ke
keluaran standard. Berguna untuk nyahpepijat.

-V
Tulis versi program untuk stdout dan tamatkan.

Gunakan irkerhook dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad