InggrisPerancisSpanyol

Ad


favorit OnWorks

irkerhook - Online di Cloud

Jalankan irkerhook di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah irkerhook yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


irkerhook - skrip kait repositori yang mengeluarkan pemberitahuan irker

RINGKASAN


irkerhook.py [-n] [-V] [[--variabel=nilai...]] [[komit-id...]]

DESKRIPSI


irkerhook.py adalah skrip Python yang dimaksudkan untuk dipanggil dari kait pasca-komit a
repositori kontrol versi. Tugasnya adalah mengumpulkan informasi tentang komit yang dipecat
hook (dan mungkin preferensi yang ditetapkan oleh pemilik repositori) dan kirimkan informasi itu
ke contoh irkerd untuk meneruskan ke berbagai saluran pengumuman.

Pemanggilan dan perilaku yang tepat dari irkerhook.py bervariasi tergantung pada VCS
(sistem kontrol versi) menyebutnya. Ada empat tempat berbeda yang mungkin
ekstrak informasi:

1. Panggilan ke utilitas VCS.

2. Dalam VCS seperti git yang mendukung variabel konfigurasi yang dapat diatur pengguna, variabel dengan
awalan "irker.".

3. Di VCS lain, file konfigurasi, "irker.conf", di internal repositori
direktori.

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

Variabel berikut bersifat umum untuk semua VCS yang didukung:

proyek
Nama proyek. Harus berupa pengidentifikasi yang relatif singkat; biasanya akan muncul
di awal pemberitahuan.

repo
Nama direktori tingkat atas repositori. Jika tidak ditentukan, defaultnya adalah a
salinan huruf kecil dari nama proyek.

saluran
URL saluran IRC, atau daftar yang dipisahkan koma dari saluran yang sama yang mengidentifikasikan
pemberitahuan yang akan dikirim. Jika tidak ditentukan, defaultnya adalah freenode #commits
channel.

Server
Host tempat daemon irker relai pemberitahuan diharapkan berada.
Default ke "localhost".

e-mail
Jika disetel, gunakan email untuk komunikasi daripada TCP atau UDP. Nilai tersebut digunakan sebagai
alamat surat tujuan.

tcp
Jika "benar", gunakan TCP untuk komunikasi; jika "salah", gunakan UDP. Default ke "salah".

awalan url
Ubah awalan URL untuk repo Anda. Ketika ID komit ditambahkan ke ini, seharusnya
arahkan ke CGI yang akan menampilkan komit melalui cgit, gitweb atau yang serupa.
Defaultnya mungkin akan berfungsi jika Anda memiliki pengaturan gitweb/cgit yang khas.

Jika nilai variabel ini adalah "Tidak Ada", buat bidang URL di komit
pemberitahuan akan ditekan. Nilai ajaib lainnya adalah "cgit", "gitweb", dan
"viewcvs", yang diperluas ke templat URL yang biasanya berfungsi dengan sistem tersebut.

Cookie ajaib "%(host)s" dan %(repo)s" dapat muncul di URL ini. Yang pertama adalah
diperluas ke FQDN dari host yang menjalankan irkerhook.py; yang terakhir adalah
diperluas ke nilai variabel "repo".

kecil
Template URL yang menunjuk ke layanan untuk mengompresi URL sehingga akan memakan waktu lebih sedikit
spasi di baris notifikasi. Jika nilai variabel ini adalah "Tidak Ada", tidak
kompresi akan dicoba.

warna
Jika "mIRC", sorot bidang notifikasi dengan kode warna mIRC. Jika "ANSI", sorot
bidang notifikasi dengan urutan escape warna ANSI. Default ke "tidak ada" (tidak ada warna).
Kode ANSI didukung di Chatzilla, irssi, ircle, dan BitchX; kode mIRC hanya
dikenali di mIRC, XChat, KVirc, Percakapan, atau weechat.

Catatan: jika Anda mengaktifkannya dan notifikasi berhenti muncul di saluran Anda, Anda perlu
untuk mematikan filter warna IRC pada saluran tersebut. Untuk melakukan ini, Anda perlu op
hak istimewa; keluarkan perintah "/mode -c" dengan digantikan olehmu
nama saluran. Anda mungkin perlu terlebih dahulu mengeluarkan perintah "/msg chanserv set
MLOCK +nt-slk".

saluran maks
Diartikan sebagai bilangan bulat. Jika tidak nol, batasi jumlah saluran yang akan dilakukan hook
menafsirkan dari variabel "saluran".

Variabel ini tidak dapat disetel melalui variabel konfigurasi VCS atau irker.conf; Bisa
hanya diatur dengan argumen baris perintah. Jadi, di situs menempa di mana repositori
pemilik tidak diizinkan untuk mengubah skrip pasca-komit mereka, administrator situs dapat
atur untuk mencegah spamming shotgun oleh pemilik proyek jahat. Menyetelnya ke nilai
kurang dari 2, bagaimanapun, mungkin tidak bijaksana.

seperti cial
Jika tidak kosong dan bukan "Tidak Ada" (default), ini meniru perilaku lama CIA
menjatuhkan daftar panjang file demi ringkasan formulir (N file dalam M
direktori). Nilai harus numerik memberikan nilai ambang batas untuk panjang
daftar file dalam karakter.

git
Di bawah git, cara normal untuk memanggil kait ini (dari dalam kait pembaruan) meneruskannya sebagai
refname diikuti oleh daftar komit. Karena git daftar ulang biasanya daftar dari sebagian besar
terbaru ke terlama, Anda ingin menggunakan --reverse untuk membuat notifikasi dihilangkan
urutan kronologis. Dalam skrip pembaruan normal, permintaan akan terlihat seperti ini

nama ulang=$1
lama = $2
baru = $3
irkerhook.py --refname=${refname} $(git rev-list --reverse ${lama}..${baru})

kecuali bahwa Anda memerlukan jalur absolut untuk irkerhook.py.

Untuk tujuan pengujian dan kompatibilitas mundur, jika Anda memanggil irkerhook.py tanpa
argumen (seperti dalam kait pasca-komit) itu akan berperilaku seolah-olah telah dipanggil seperti
ini:

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

Namun, ini tidak akan memberikan hasil yang tepat ketika Anda mendorong ke cabang non-default dari a
repo kosong.

Cara khas untuk memasang pengait ini sebenarnya ada di pengait pasca-terima, karena mendapat
semua detail yang diperlukan dan tidak akan membatalkan kegagalan push on. Gunakan yang berikut ini
naskah:

#!/ Bin / sh

echo "mengirim pemberitahuan IRC"
saat membaca refname baru yang lama; melakukan
irkerhook --refname=${refname} $(git rev-list --reverse ${lama}..${baru})
dilakukan

Untuk kenyamanan, ini diimplementasikan oleh skrip pembantu irkerhook-git.

Preferensi dapat diatur dalam file konfigurasi repo di bagian [irker]. Berikut ini contohnya
dari apa yang bisa terlihat seperti:

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

Anda tidak boleh mengatur variabel "repositori" (setara akan dihitung). Tidak ada usaha
dibuat untuk menginterpretasikan file irker.conf.

Nilai default dari variabel "proyek" adalah nama dasar dari direktori repositori.
Nilai default dari variabel "urlprefix" adalah "cgit".

Ada satu variabel khusus git, "revformat", yang mengontrol format komit
pengenal dalam pemberitahuan. Ini mungkin memiliki nilai-nilai berikut:

mentah
ID hex penuh dari komit

pendek
12 karakter pertama dari hex ID

menggambarkan
menggambarkan relatif terhadap tag terakhir, jatuh kembali ke pendek

Standarnya adalah 'jelaskan'.

Subversi
Di bawah Subversion, irkerhook.py menerima opsi --repository dengan nilai (mutlak
pathname dari repositori Subversion) dan argumen komit (tingkat revisi numerik
dari komit). Defaultnya adalah direktori kerja saat ini dan HEAD, masing-masing.

Namun, perhatikan bahwa Anda tidak bisa default argumen repositori di dalam Subversion
kait pasca-komit; ini karena keterbatasan Subversion, yaitu mendapatkan
direktori saat ini tidak dapat diandalkan di dalam kait ini. Sebaliknya, nilainya harus dua
argumen yang Subversion berikan ke hook itu sebagai argumen. Jadi, pemanggilan tipikal dalam
skrip post-commit akan terlihat seperti ini:

REPO = $1
PENDAHULUAN=$2
irkerhook.py --repositori=$REPO $REV

Pengaturan --variable=value lainnya juga dapat diberikan pada baris perintah, dan akan menimpa
pengaturan apa pun dalam file irker.conf.

Default untuk variabel proyek adalah nama dasar repositori. Nilai default
dari variabel "urlprefix" adalah "viewcvs".

Jika file irker.conf ada di direktori root repositori (bukan direktori checkout
tetapi di mana internal seperti file "format" hidup) hook akan menafsirkan variabel
pengaturan dari itu. Berikut adalah contoh tampilan file tersebut:

# pengaturan variabel irkerhook untuk proyek irker
proyek = irker
saluran = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = salah

Jangan atur variabel "repositori" atau "komit" dalam file ini; itu tidak akan bahagia
hasil.

Tidak ada variabel khusus Subversion.

lincah
Di bawah Mercurial, irkerhook.py dapat dipanggil dengan dua cara: baik sebagai hook Python
(lebih disukai) atau sebagai naskah.

Untuk menyebutnya sebagai hook Python, tambahkan collowing ke hook "commit" atau "incoming"
deklarasi di repositori Mercurial Anda:

[kait]
masuk.irker = python:/path/to/irkerhook.py:hg_hook

Saat dipanggil sebagai skrip, hook menerima opsi --repository dengan nilai (mutlak
pathname dari repositori Mercurial) dan dapat mengambil argumen komit (hash Mercurial
ID komit atau referensi untuk itu). Default untuk argumen repositori adalah
direktori saat ini. Argumen komit default adalah '-1', menunjuk tip saat ini
melakukan.

Adapun git, dalam kedua kasus semua variabel dapat diatur dalam file repo hgrc di [irker]
bagian. Variabel baris perintah = argumen nilai diterima tetapi tidak diperlukan untuk skrip
doa. Tidak ada upaya yang dilakukan untuk menafsirkan file irker.conf.

Nilai default dari variabel "proyek" adalah nama dasar dari direktori repositori.
Nilai default dari variabel "urlprefix" adalah nilai dari konfigurasi "web.baseurl"
nilai, jika ada.

Penyaringan
Dimungkinkan untuk memfilter komit sebelum mengirimnya ke irkerd.

Anda harus menentukan filtercmd opsi, yang akan menjadi perintah yang akan dijalankan irkerhook.py.
Perintah ini harus menerima satu argumen, yang merupakan representasi JSON dari komit dan
metadata ekstraktor (termasuk variabel saluran). Perintah harus memancarkan ke standar
menghasilkan representasi JSON dari metadata (mungkin diubah).

Di bawah ini adalah contoh filter:

#!/usr/bin/env ular sanca
# Ini adalah contoh sepele dari filter metadata.
# Yang dilakukannya hanyalah mengubah nama penulis komit.
#
impor sys, json
metadata = json.loads(sys.argv[1])

metadata['author'] = "The Great and Powerful Oz"

mencetak json.dumps(metadata)
# akhir

Kesalahan standar tersedia untuk kait untuk kemajuan dan pesan kesalahan.

PILIHAN


irkerhook.py mengambil opsi berikut:

-n
Menekan transmisi ke daemon. Sebagai gantinya, buang permintaan JSON yang dihasilkan ke
keluaran standar. Berguna untuk debugging.

-V
Tulis versi program ke stdout dan akhiri.

Gunakan irkerhook online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad