انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

irkerhook - آنلاین در ابر

اجرای irkerhook در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور irkerhook است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


irkerhook - اسکریپت قلاب مخزن اعلان‌های irker را صادر می‌کند

خلاصه


irkerhook.py [-n] [-V] [[--variable=value...]] [[commit-id...]]

شرح


irkerhook.py یک اسکریپت پایتون است که برای فراخوانی از هوک پس از انجام یک
مخزن کنترل نسخه وظیفه آن جمع آوری اطلاعات در مورد تعهدی است که اخراج شده است
قلاب (و احتمالاً ترجیحات تنظیم شده توسط صاحب مخزن) و ارسال آن اطلاعات
به یک نمونه از irkerd برای ارسال به کانال های مختلف اعلامیه.

فراخوانی و رفتار مناسب irkerhook.py بسته به اینکه کدام VCS متفاوت است
(سیستم کنترل نسخه) آن را فرا می خواند. چهار مکان مختلف وجود دارد که از آنجا ممکن است
استخراج اطلاعات:

1. تماس با VCS Utilities.

2. در VCSهایی مانند git که از متغیرهای پیکربندی قابل تنظیم توسط کاربر پشتیبانی می کنند، متغیرهایی با
پیشوند "irker."

3. در سایر VCSها، یک فایل پیکربندی، "irker.conf" در قسمت داخلی مخزن
دایرکتوری.

4. آرگومان های خط فرمان به شکل --variable=value.

متغیرهای زیر برای همه VCSهای پشتیبانی شده عمومی هستند:

پروژه
نام پروژه. باید یک شناسه نسبتاً کوتاه باشد. معمولا ظاهر خواهد شد
در همان ابتدای یک اعلان

مخزن
نام دایرکتوری سطح بالای مخزن. اگر مشخص نشده باشد، به طور پیش فرض روی a است
کپی کوچک نام پروژه

کانال
یک URL کانال IRC، یا فهرستی از همان کانال جدا شده با کاما، شناسایی کانال‌هایی که به آن‌ها می‌روند
اطلاعیه ها ارسال می شود اگر مشخص نشده باشد، پیش‌فرض freenode #commits است
کانال.

سرور
میزبانی که انتظار می رود شبح irker انتقال دهنده اعلان در آن ساکن باشد.
به طور پیش فرض به "localhost".

پست الکترونیک
در صورت تنظیم، به جای TCP یا UDP از ایمیل برای ارتباط استفاده کنید. مقدار به عنوان استفاده می شود
آدرس ایمیل هدف

tcp
اگر "درست" است، از TCP برای ارتباط استفاده کنید. اگر "نادرست" است، از UDP استفاده کنید. پیش‌فرض به «نادرست» می‌رسد.

پیشوند url
پیشوند URL را برای مخزن خود تغییر دهید. وقتی commit ID به این ضمیمه می شود، باید
به یک CGI اشاره کنید که commit را از طریق cgit، gitweb یا چیزی مشابه نمایش می دهد.
اگر تنظیمات gitweb/cgit معمولی داشته باشید، احتمالاً پیش‌فرض‌ها کار خواهند کرد.

اگر مقدار این متغیر "None" باشد، تولید فیلد URL در commit است
اعلان ها سرکوب خواهد شد. سایر مقادیر جادویی عبارتند از "cgit"، "gitweb"، و
"viewcvs" که به قالب‌های URL که معمولاً با آن سیستم‌ها کار می‌کنند گسترش می‌یابد.

کوکی‌های جادویی "%(host)s" و %(repo)s" ممکن است در این URL وجود داشته باشند. اولی
به FQDN میزبانی که irkerhook.py روی آن اجرا می شود، گسترش یافته است. دومی است
به مقدار متغیر "repo" گسترش یافته است.

کوچک کننده
الگوی URL به سرویسی برای فشرده سازی URL ها اشاره می کند تا کمتر اشغال شوند
فاصله در خط اطلاع رسانی اگر مقدار این متغیر "هیچ" باشد، خیر
فشرده سازی انجام خواهد شد.

رنگ
اگر "mIRC" است، فیلدهای اعلان را با کدهای رنگی mIRC برجسته کنید. اگر "ANSI"، برجسته کنید
فیلدهای اعلان با توالی فرار رنگ ANSI. پیش‌فرض به "هیچ" (بدون رنگ).
کدهای ANSI در Chatzilla، irssi، ircle و BitchX پشتیبانی می شوند. فقط کدهای mIRC هستند
در mIRC، XChat، KVirc، Konversation یا weechat شناسایی می شود.

توجه: اگر این را روشن کنید و اعلان‌ها در کانال شما ظاهر نشوند، نیاز دارید
برای خاموش کردن فیلتر رنگ IRC در آن کانال. برای انجام این کار به op نیاز دارید
امتیازات؛ دستور "/mode را صادر کنید -c" با توسط شما جایگزین شده است
نام کانال. ممکن است لازم باشد ابتدا دستور "/msg chanserv set را صادر کنید
MLOCK +nt-slk".

کانال های حداکثر
به عنوان یک عدد صحیح تفسیر می شود. اگر صفر نباشد، تعداد کانال‌هایی را که قلاب می‌خواهد محدود می‌کند
از متغیر "channels" تفسیر کنید.

این متغیر را نمی توان از طریق متغیرهای پیکربندی VCS یا irker.conf تنظیم کرد. می تواند
فقط با یک آرگومان خط فرمان تنظیم شود. بنابراین، در یک سایت جعل که در آن مخزن
مالکان مجاز به تغییر اسکریپت های پس از ارتکاب خود نیستند، مدیر سایت می تواند
آن را تنظیم کنید تا از ارسال هرزنامه توسط صاحبان پروژه های مخرب جلوگیری شود. تنظیم آن بر روی یک مقدار
با این حال، کمتر از 2 احتمالاً غیرعاقلانه خواهد بود.

مانند
اگر خالی نباشد و «هیچ» نباشد (پیش‌فرض)، این رفتار قدیمی سیا را شبیه‌سازی می‌کند
حذف لیست طولانی فایل ها به نفع خلاصه ای از فرم (N فایل در M
دایرکتوری ها). مقدار باید عددی باشد و یک مقدار آستانه برای طول
لیست فایل به صورت کاراکتر

دستگاه گوارش
در git، روش معمولی برای فراخوانی این هوک (از داخل هوک به‌روزرسانی) آن را a عبور می‌کند
refname به دنبال لیستی از commit ها. زیرا دستگاه گوارش rev-list به طور معمول از بیشتر لیست می شود
جدید به قدیمی‌ترین، می‌خواهید از -reverse استفاده کنید تا اعلان‌ها حذف شوند
ترتیب زمانی. در یک اسکریپت به روز رسانی معمولی، فراخوانی باید به این شکل باشد

refname=$1
قدیمی = 2 دلار
جدید = 3 دلار
irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${new})

به جز اینکه برای irkerhook.py به یک مسیر مطلق نیاز دارید.

برای اهداف آزمایشی و سازگاری با عقب، اگر irkerhook.py را با شماره فراخوانی کنید
آرگومان‌ها (مانند قلاب پس از ارتکاب) به گونه‌ای رفتار می‌کند که گویی مانند آن نامیده می‌شود
این:

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

با این حال، هنگامی که به یک شاخه غیر پیش فرض a فشار می آورید، این نتیجه درستی را به همراه نخواهد داشت
مخزن لخت

یک راه معمولی برای نصب این قلاب در واقع در قلاب پس از دریافت است، زیرا می شود
تمام جزئیات لازم را ارائه می دهد و فشار بر شکست را متوقف نمی کند. از موارد زیر استفاده کنید
متن:

#!/ بن / شل

echo "ارسال اعلان IRC"
در حالی که refname جدید قدیمی را بخوانید. انجام دادن
irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new})
انجام شده

برای راحتی، این توسط اسکریپت کمکی irkerhook-git پیاده سازی می شود.

تنظیمات برگزیده ممکن است در فایل پیکربندی repo در بخش [irker] تنظیم شوند. به عنوان مثال
از آنچه که می تواند شبیه باشد:

[irker]
پروژه = gpsd
رنگ = ANSI
کانال = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

شما نباید متغیر "repository" را تنظیم کنید (معادل آن محاسبه خواهد شد). بدون تلاش
برای تفسیر یک فایل irker.conf ساخته شده است.

مقدار پیش فرض متغیر "project" نام پایه دایرکتوری مخزن است.
مقدار پیش فرض متغیر "urlprefix" "cgit" است.

یک متغیر مخصوص git به نام "revformat" وجود دارد که فرمت commit را کنترل می کند
شناسه در یک اعلان ممکن است مقادیر زیر را داشته باشد:

خام
شناسه هگز کامل تعهد

کوتاه
12 کاراکتر اول شناسه هگز

توصیف
نسبت به آخرین برچسب توصیف کنید، به کوتاهی باز می گردد

پیش فرض "توصیف" است.

خرابکاری
تحت Subversion، irkerhook.py یک گزینه --repository با مقدار (مطلق
نام مسیر مخزن Subversion) و یک آرگومان commit (سطح بازبینی عددی).
از ارتکاب). پیش فرض ها به ترتیب دایرکتوری فعلی و HEAD هستند.

با این حال توجه داشته باشید که شما نمی توان آرگومان مخزن به طور پیش فرض در داخل یک Subversion
قلاب پس از ارتکاب این به دلیل محدودیت براندازی است، که دریافت آن است
دایرکتوری فعلی در داخل این هوک ها قابل اعتماد نیست. در عوض، مقادیر باید این دو باشند
آرگومان هایی که Subversion به عنوان آرگومان به آن هوک منتقل می کند. بنابراین، یک فراخوانی معمولی در
اسکریپت post-commit به شکل زیر خواهد بود:

REPO=1$
REV = 2 دلار
irkerhook.py --repository=$REPO $REV

سایر تنظیمات --variable=value نیز ممکن است در خط فرمان داده شوند و لغو خواهند شد
هر گونه تنظیمات در یک فایل irker.conf.

پیش فرض متغیر پروژه، نام پایه مخزن است. مقدار پیش فرض
از متغیر "urlprefix" "viewcvs" است.

اگر یک فایل irker.conf در دایرکتوری ریشه مخزن وجود داشته باشد (نه دایرکتوری پرداخت
اما در جایی که موارد داخلی مانند فایل "format" زنده است) قلاب متغیر را تفسیر می کند
تنظیمات از آن در اینجا مثالی از اینکه چنین فایلی ممکن است شبیه باشد آورده شده است:

# تنظیمات متغیر irkerhook برای پروژه irker
پروژه = irker
کانال = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = نادرست

متغیرهای "repository" یا "commit" را در این فایل تنظیم نکنید. که ناراضی خواهد بود
نتایج.

هیچ متغیری خاص براندازی وجود ندارد.

تند
تحت Mercurial، irkerhook.py را می توان به دو روش فراخوانی کرد: یا به عنوان قلاب پایتون
(ترجیح) یا به عنوان یک اسکریپت.

برای نامیدن آن به عنوان قلاب پایتون، collowing را به قلاب "commit" یا "incoming" اضافه کنید.
اعلامیه در مخزن Mercurial شما:

[قلاب]
incoming.irker = python:/path/to/irkerhook.py:hg_hook

هنگامی که به عنوان یک اسکریپت فراخوانی می شود، قلاب یک گزینه --repository را با مقدار (مطلق) می پذیرد
نام مسیر مخزن Mercurial) و می تواند یک آرگومان commit (هش Mercurial) بگیرد
شناسه ارتکاب یا ارجاع به آن). پیش فرض آرگومان مخزن عبارت است از
پوشه کنونی. آرگومان commit پیش فرض '-1' است که نوک فعلی را مشخص می کند
مرتکب شدن.

در مورد git، در هر دو مورد، همه متغیرها ممکن است در فایل repo hgrc در یک [irker] تنظیم شوند.
بخش. متغیرهای خط فرمان = آرگومان های مقدار پذیرفته می شوند اما برای اسکریپت مورد نیاز نیستند
فراخوانی هیچ تلاشی برای تفسیر فایل irker.conf انجام نمی شود.

مقدار پیش فرض متغیر "project" نام پایه دایرکتوری مخزن است.
مقدار پیش فرض متغیر "urlprefix" مقدار پیکربندی "web.baseurl" است.
ارزش، اگر وجود داشته باشد.

فیلتر
امکان فیلتر کردن commit ها قبل از ارسال به irkerd وجود دارد.

شما باید مشخص کنید filtercmd گزینه، که دستور irkerhook.py اجرا خواهد شد.
این دستور باید یک آرگومان را بپذیرد که یک نمایش JSON از commit و است
فراداده استخراج کننده (از جمله متغیر کانال). دستور باید به صورت استاندارد منتشر شود
یک نمایش JSON از ابرداده (احتمالاً تغییر یافته) را تولید کنید.

در زیر یک نمونه فیلتر وجود دارد:

#!/usr/bin/env پایتون
# این یک مثال بی اهمیت از فیلتر ابرداده است.
# تنها کاری که انجام می دهد تغییر نام نویسنده کامیت است.
#
import sys، json
ابرداده = json.loads(sys.argv[1])

metadata['author'] = "اوز بزرگ و قدرتمند"

چاپ json.dumps(فراداده)
# پایان

خطای استاندارد برای پیشرفت و پیام های خطا در هوک موجود است.

OPTIONS


irkerhook.py گزینه های زیر را انتخاب می کند:

-n
سرکوب انتقال به دیمون در عوض، درخواست JSON ایجاد شده را در آن تخلیه کنید
خروجی استاندارد برای رفع اشکال مفید است.

-V
نسخه برنامه را در stdout بنویسید و خاتمه دهید.

از irkerhook به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad