אנגליתצרפתיתספרדי

Ad


סמל OnWorks

irkerhook - מקוון בענן

הפעל את irkerhook בספק אירוח חינמי של OnWorks על אובונטו אונליין, פדורה אונליין, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זהו הפקודה irkerhook שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


irkerhook - סקריפט Hook של מאגר המנפיק התראות irker

תַקצִיר


irkerhook.py [-n] [-V] [[--משתנה=ערך...]] [[commit-id...]]

תיאור


irkerhook.py הוא סקריפט Python שנועד להיקרא מה-post-commit hook של
מאגר בקרת גרסאות. תפקידו הוא לאסוף מידע על ההתחייבות שפוטר
ה-hook (ואולי העדפות שנקבעו על ידי בעל המאגר) ושלחו את המידע הזה
למקרה של irkerd להעברה לערוצי הכרזה שונים.

ההפעלה וההתנהגות הנכונות של irkerhook.py משתנים בהתאם לאיזה VCS
(מערכת בקרת גרסה) קוראת לזה. ישנם ארבעה מקומות שונים שמהם זה יכול
לחלץ מידע:

1. שיחות לשירותי VCS.

2. ב-VCSs כמו git התומכים במשתני תצורה הניתנים להגדרת המשתמש, משתנים עם
הקידומת "irker.".

3. במערכות VCS אחרות, קובץ תצורה, "irker.conf", בחלק הפנימי של המאגר
במדריך.

4. ארגומנטים בשורת הפקודה בצורה --variable=value.

המשתנים הבאים הם כלליים לכל ה-VCSs הנתמכים:

פּרוֹיֶקט
שם הפרויקט. צריך להיות מזהה קצר יחסית; בדרך כלל יופיע
ממש בתחילת הודעה.

הריפו
שם הספרייה ברמה העליונה של המאגר. אם לא צוין, ברירת המחדל היא a
עותק קטן של שם הפרויקט.

ערוצים
כתובת URL של ערוץ IRC, או רשימה מופרדת בפסיקים של אותם ערוצים המזהים שאליהם
יש לשלוח הודעות. אם לא צוין, ברירת המחדל היא freenode #commits
ערוץ.

שרת
המארח שעליו צפוי להתגורר דמון ה-irker המעביר הודעות.
ברירת המחדל היא "מארח מקומי".

אמייל
אם מוגדר, השתמש בדוא"ל לתקשורת במקום ב-TCP או UDP. הערך משמש כ-
כתובת דואר יעד.

TCP
אם "נכון", השתמש ב-TCP לתקשורת; אם "שקר", השתמש ב-UDP. ברירת המחדל היא "שקר".

urlprefix
שנה את קידומת כתובת האתר עבור המאגר שלך. כאשר מזהה ההתחייבות מצורף לזה, זה צריך
הצבע על CGI שיציג את ה-commit דרך cgit, gitweb או משהו דומה.
ברירות המחדל כנראה יעבדו אם יש לך הגדרה טיפוסית של gitweb/cgit.

אם הערך של משתנה זה הוא "ללא", יצירת שדה ה-URL ב-commit
הודעות ידחקו. ערכי קסם אחרים הם "cgit", "gitweb" ו
"viewcvs", שמתרחבים לתבניות URL שבדרך כלל יעבדו עם אותן מערכות.

עוגיות הקסם "%(host)s" ו-%(repo)s" עשויות להופיע בכתובת האתר הזו. הראשונה היא
מורחב ל-FQDN של המארח שעליו פועל irkerhook.py; האחרון הוא
מורחב לערך המשתנה "ריפו".

זעיר
תבנית כתובת אתר המצביעה על שירות לדחיסת כתובות אתרים כך שהן יתפסו פחות
מקום בשורת ההודעות. אם הערך של משתנה זה הוא "ללא", לא
יתבצע ניסיון דחיסה.

צֶבַע
אם "mIRC", סמן שדות הודעה עם קודי צבע mIRC. אם "ANSI", הדגש
שדות הודעות עם רצפי בריחה בצבע ANSI. ברירת המחדל היא "ללא" (ללא צבעים).
קודי ANSI נתמכים ב-Chatzilla, irssi, ircle ו-BitchX; קודי mIRC בלבד הם
מוכר ב-mIRC, XChat, KVirc, Konversation או weechat.

הערה: אם אתה מפעיל את זה וההודעות יפסיקו להופיע בערוץ שלך, אתה צריך
כדי לכבות את מסנן הצבעים של IRC בערוץ זה. כדי לעשות זאת תצטרך אופ
הרשאות; הפק את הפקודה "/mode -c" עם מוחלף על ידי שלך
שם הערוץ. ייתכן שתצטרך להוציא תחילה את הפקודה "/msg chanserv set
MLOCK +nt-slk".

maxchannels
מתפרש כמספר שלם. אם לא אפס, מגביל את מספר הערוצים שה-hook יהיה
לפרש מהמשתנה "ערוצים".

לא ניתן להגדיר משתנה זה באמצעות משתני תצורת VCS או irker.conf; זה יכול
להגדיר רק עם ארגומנט שורת פקודה. כך, באתר זיוף שבו מאגר
בעלים אינם רשאים לשנות את הסקריפטים שלאחר ההתחייבות שלהם, מנהל אתר יכול
הגדר אותו כדי למנוע ספאם ברובי ציד על ידי בעלי פרויקטים זדוניים. הגדרת אותו לערך
עם זאת, פחות מ-2 כנראה לא יהיה חכם.

ciallike
אם לא ריק ולא "ללא" (ברירת המחדל), זה מחקה את התנהגות ה-CIA הישנה של
הורדת רשימות ארוכות של קבצים לטובת סיכום הטופס (N קבצים ב-M
ספריות). הערך חייב להיות מספרי נותן ערך סף לאורך של
רשימת קבצים בתווים.

סילון
תחת git, הדרך הרגילה להפעיל את ה-hook הזה (מתוך ה- Update hook) עוברת אותו a
refname ואחריו רשימה של התחייבויות. כי סילון רשימת סיבובים בדרך כלל רשימות מרוב
מהזמן האחרון לישן ביותר, תרצה להשתמש ב--reverse כדי לגרום להודעות להשמיט ב
סדר כרונולוגי. בסקריפט עדכון רגיל, ההזמנה אמורה להיראות כך

refname=$1
ישן=2$
חדש=3$
irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${new})

אלא שתצטרך נתיב מוחלט עבור irkerhook.py.

למטרות בדיקה ותאימות לאחור, אם תפעיל את irkerhook.py עם no
טיעונים (כמו ב-post-commit hook) זה יתנהג כאילו זה נקרא ככה
זֶה:

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

עם זאת, זה לא ייתן את התוצאה הנכונה כאשר אתה דוחף לענף שאינו ברירת מחדל של a
ריפו חשוף.

דרך טיפוסית להתקין את הוו הזה היא בעצם הוו שלאחר הקבלה, מכיוון שהוא מקבל
כל הפרטים הדרושים ולא יבטל את הדחיפה על כישלון. השתמש בדברים הבאים
תַסרִיט:

#!/ Bin / sh

הד "שליחת הודעת IRC"
בזמן קריאת refname ישן חדש; לַעֲשׂוֹת
irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new})
עשה

מטעמי נוחות, זה מיושם על ידי סקריפט העזר irkerhook-git.

ניתן להגדיר העדפות בקובץ תצורת ה-repo בקטע [irker]. הנה דוגמה
של איך זה יכול להיראות:

[מעצבן]
פרויקט = gpsd
צבע = ANSI
ערוצים = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

אין להגדיר את המשתנה "מאגר" (תחשב שווה ערך). שום ניסיון
נעשה כדי לפרש קובץ irker.conf.

ערך ברירת המחדל של המשתנה "פרויקט" הוא שם הבסיס של ספריית המאגר.
ערך ברירת המחדל של המשתנה "urlprefix" הוא "cgit".

יש משתנה אחד ספציפי ל-git, "revformat", השולט בפורמט ה-commit
מזהה בהתראה. ייתכן שיש לו את הערכים הבאים:

חי
מזהה משושה מלא של התחייבות

קצר
12 התווים הראשונים של ה-hex ID

לתאר
תאר ביחס לתג האחרון, חזור לקצר

ברירת המחדל היא 'תאר'.

חתרנות
תחת Subversion, irkerhook.py מקבל אפשרות --repository עם ערך (האבסולוט
שם הנתיב של מאגר Subversion) וארגומנט commit (רמת הגרסה המספרית
של ההתחייבות). ברירת המחדל היא ספריית העבודה הנוכחית ו-HEAD, בהתאמה.

שים לב, עם זאת, שאתה לא יכול ברירת המחדל של ארגומנט המאגר בתוך Subversion
וו לאחר התחייבות; זה בגלל מגבלה של Subversion, כלומר קבלת ה
הספרייה הנוכחית אינה אמינה בתוך הווים הללו. במקום זאת, הערכים חייבים להיות השניים
טיעונים שחתרנות מעבירה לאותו וו כטיעונים. לפיכך, קריאה טיפוסית ב
התסריט שלאחר ההתחייבות ייראה כך:

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

הגדרות --variable=value אחרות עשויות להינתן גם בשורת הפקודה, והן יעקפו
כל הגדרות בקובץ irker.conf.

ברירת המחדל של משתנה הפרויקט היא שם הבסיס של המאגר. ערך ברירת המחדל
של המשתנה "urlprefix" הוא "viewcvs".

אם קיים קובץ irker.conf בספריית השורש של המאגר (לא בספריית התשלום
אבל כאשר רכיבים פנימיים כגון קובץ "פורמט" חיים) ה-hook יפרש משתנה
הגדרות ממנו. הנה דוגמה לאיך יכול להיראות קובץ כזה:

# הגדרות משתני irkerhook עבור פרויקט irker
פרויקט = מציק
ערוצים = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = false

אל תגדיר את המשתנים "מאגר" או "התחייבות" בקובץ זה; זה היה אומלל
תוצאות.

אין משתנים ספציפיים לחתרנות.

כַּספִּיתִי
תחת Mercurial, ניתן להפעיל את irkerhook.py בשתי דרכים: כ-Python Hook
(מועדף) או כתסריט.

כדי לקרוא לזה כ-Python hook, הוסף את collowing ל-"commit" או "incoming"
הצהרה במאגר Mercurial שלך:

[ווים]
incoming.irker = python:/path/to/irkerhook.py:hg_hook

כאשר נקרא כסקריפט, ה-hook מקבל אפשרות --repository עם ערך (האבסולוט
שם הנתיב של מאגר Mercurial) ויכול לקחת ארגומנט commit (ה-hash של Mercurial
מזהה ההתחייבות או הפניה אליו). ברירת המחדל עבור ארגומנט המאגר היא ה-
ספרייה נוכחית. ארגומנט ה-commit המוגדר כברירת מחדל הוא '-1', המציין את הטיפ הנוכחי
לְבַצֵעַ.

לגבי git, בשני המקרים כל המשתנים עשויים להיות מוגדרים בקובץ repo hgrc ב-[irker]
סָעִיף. שורת הפקודה משתנה=ערך ארגומנטים מתקבלים אך אינם נדרשים עבור סקריפט
קְרִיאָה. לא נעשה ניסיון לפרש קובץ irker.conf.

ערך ברירת המחדל של המשתנה "פרויקט" הוא שם הבסיס של ספריית המאגר.
ערך ברירת המחדל של המשתנה "urlprefix" הוא הערך של התצורה "web.baseurl".
ערך, אם הוא קיים.

סינון
אפשר לסנן commits לפני שליחתן ל-irkerd.

עליך לציין את filtercmd אפשרות, שתהיה הפקודה irkerhook.py תפעל.
פקודה זו צריכה לקבל ארגומנטים אחד, שהוא ייצוג JSON של commit ו
מטא נתונים של מחלץ (כולל משתנה הערוצים). הפקודה צריכה לפלוט בתקן
פלט ייצוג JSON של מטא נתונים (ייתכן שהשתנו).

להלן מסנן לדוגמה:

#!/usr/bin/env פִּיתוֹן
# זוהי דוגמה טריוויאלית של מסנן מטא נתונים.
# כל מה שהוא עושה הוא לשנות את שם מחבר ה-commit.
#
ייבוא ​​sys, json
metadata = json.loads(sys.argv[1])

metadata['author'] = "עוץ הגדול והעוצמתי"

הדפסה json.dumps(מטא נתונים)
סוף #

שגיאה רגילה זמינה ל-hook עבור התקדמות והודעות שגיאה.

אפשרויות


irkerhook.py לוקח את האפשרויות הבאות:

-n
דכא שידור לדמון. במקום זאת, זרוק את בקשת ה-JSON שנוצרה אל
פלט סטנדרטי. שימושי לניפוי באגים.

-V
כתוב את גרסת התוכנית ל-stdout וסיים.

השתמש ב-irkerhook באינטרנט באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad