ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

irkerhook - ออนไลน์ในคลาวด์

เรียกใช้ irkerhook ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง irkerhook ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


irkerhook - สคริปต์ hook ที่เก็บที่ออกการแจ้งเตือน irker

เรื่องย่อ


irkerhook.py [-น] [-วี] [[--ตัวแปร=ค่า-รหัสคอมมิชชัน-

DESCRIPTION


irkerhook.py เป็นสคริปต์ Python ที่มีวัตถุประสงค์เพื่อเรียกใช้จาก hook หลังการคอมมิตของa
ที่เก็บการควบคุมเวอร์ชัน หน้าที่ของมันคือรวบรวมข้อมูลเกี่ยวกับการกระทำที่ไล่ออก
เบ็ด (และอาจกำหนดการตั้งค่าโดยเจ้าของพื้นที่เก็บข้อมูล) และส่งข้อมูลนั้น
เพื่อเป็นตัวอย่าง irkerd เพื่อส่งต่อไปยังช่องทางประกาศต่างๆ

การเรียกใช้และพฤติกรรมที่เหมาะสมของ irkerhook.py นั้นแตกต่างกันไปขึ้นอยู่กับVCS
(ระบบควบคุมรุ่น) กำลังเรียกมันว่า มีสถานที่ที่แตกต่างกันสี่แห่งซึ่งอาจ
ดึงข้อมูล:

1. โทรไปยังโปรแกรมอรรถประโยชน์ VCS

2. ใน VCSes เช่น git ที่รองรับตัวแปรการกำหนดค่าที่ผู้ใช้ตั้งค่าได้ ตัวแปร with
คำนำหน้า "irker".

3. ใน VCS อื่น ไฟล์การกำหนดค่า "irker.conf" อยู่ในภายในของที่เก็บ
ไดเรกทอรี

4. อาร์กิวเมนต์บรรทัดคำสั่งของแบบฟอร์ม --variable=value

ตัวแปรต่อไปนี้เป็นตัวแปรทั่วไปสำหรับ VCS ที่รองรับทั้งหมด:

โครงการ
ชื่อโครงการ. ควรเป็นตัวระบุที่ค่อนข้างสั้น มักจะปรากฏขึ้น
ที่จุดเริ่มต้นของการแจ้งเตือน

repo
ชื่อของไดเร็กทอรีระดับบนสุดของที่เก็บ หากไม่ได้ระบุไว้ ค่าเริ่มต้นคือ a
ตัวพิมพ์เล็กของชื่อโครงการ

ช่อง
URL ช่อง IRC หรือรายการที่คั่นด้วยเครื่องหมายจุลภาคของรายการเดียวกัน ซึ่งระบุช่องที่
จะต้องส่งการแจ้งเตือน หากไม่ได้ระบุไว้ ค่าดีฟอลต์คือ freenode #commits
ช่อง

เซิร์ฟเวอร์
โฮสต์ที่ irker daemon ส่งสัญญาณแจ้งเตือน ถูกคาดหวังให้อยู่
ค่าเริ่มต้นเป็น "localhost"

อีเมล
หากตั้งค่าไว้ ให้ใช้อีเมลเพื่อการสื่อสารแทน TCP หรือ UDP ค่านี้ใช้เป็นค่า
ที่อยู่อีเมลเป้าหมาย

TCP
ถ้า "จริง" ให้ใช้ TCP สำหรับการสื่อสาร ถ้า "เท็จ" ให้ใช้ UDP ค่าเริ่มต้นเป็น "เท็จ"

คำนำหน้า URL
คำนำหน้า URL ชุดการเปลี่ยนแปลงสำหรับ repo ของคุณ เมื่อใส่รหัสการคอมมิตต่อท้ายสิ่งนี้ ควร
ชี้ไปที่ CGI ที่จะแสดงการคอมมิตผ่าน cgit, gitweb หรือสิ่งที่คล้ายกัน
ค่าเริ่มต้นอาจใช้งานได้หากคุณมีการตั้งค่า gitweb/cgit ทั่วไป

หากค่าของตัวแปรนี้คือ "ไม่มี" ให้สร้างฟิลด์ 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".

ช่องสูงสุด
ตีความว่าเป็นจำนวนเต็ม ถ้าไม่เป็นศูนย์ จำกัดจำนวนช่องที่เบ็ดจะ
ตีความจากตัวแปร "ช่อง"

ตัวแปรนี้ไม่สามารถตั้งค่าผ่านตัวแปรคอนฟิกูเรชัน VCS หรือ irker.conf มันสามารถ
ตั้งค่าด้วยอาร์กิวเมนต์บรรทัดคำสั่งเท่านั้น ดังนั้นในไซต์ปลอมซึ่งที่เก็บ
เจ้าของไม่ได้รับอนุญาตให้แก้ไขสคริปต์หลังการคอมมิต ผู้ดูแลไซต์สามารถ
ตั้งค่าให้ป้องกันปืนลูกซองส่งสแปมโดยเจ้าของโครงการที่เป็นอันตราย การตั้งค่าให้เป็นค่า
น้อยกว่า 2 แต่อาจจะไม่ฉลาด

เซียไลค์
หากไม่ว่างเปล่าและไม่ใช่ "ไม่มี" (ค่าเริ่มต้น) สิ่งนี้จะเลียนแบบพฤติกรรม CIA แบบเก่าของ
วางรายการไฟล์แบบยาวเพื่อสนับสนุนบทสรุปของแบบฟอร์ม (ไฟล์ N ใน M
ไดเร็กทอรี) ค่าต้องเป็นตัวเลขที่กำหนดค่าขีดจำกัดสำหรับความยาวของ
รายการไฟล์เป็นตัวอักษร

คอมไพล์
ภายใต้ git วิธีปกติในการเรียกใช้ hook นี้ (จากภายใน hook การอัปเดต) จะส่งผ่าน a
refname ตามด้วยรายการคอมมิต เพราะ คอมไพล์ รายการรอบ ปกติรายการจากส่วนใหญ่
ล่าสุดไปเก่าที่สุด คุณจะต้องใช้ --reverse เพื่อละเว้นการแจ้งเตือนใน
ลำดับเวลา ในสคริปต์อัปเดตปกติ การเรียกใช้ควรมีลักษณะดังนี้

ชื่อผู้อ้างอิง = $1
เก่า=$2
ใหม่=$3
irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${ใหม่})

ยกเว้นว่าคุณจะต้องมีเส้นทางที่แน่นอนสำหรับ irkerhook.py

เพื่อวัตถุประสงค์ในการทดสอบและความเข้ากันได้แบบย้อนหลัง หากคุณเรียกใช้ irkerhook.py โดยไม่มี
อาร์กิวเมนต์ (เช่นในตะขอหลังการคอมมิต) มันจะทำตัวราวกับว่ามันถูกเรียกว่าเหมือน
นี้:

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

อย่างไรก็ตาม สิ่งนี้จะไม่ให้ผลลัพธ์ที่ถูกต้องเมื่อคุณกดไปยังสาขาที่ไม่ใช่ค่าเริ่มต้นของa
repo เปล่า

วิธีทั่วไปในการติดตั้ง hook นี้จริง ๆ แล้วใน hook หลังการรับเพราะได้รับ
รายละเอียดที่จำเป็นทั้งหมดและจะไม่ยกเลิกการผลักดันความล้มเหลว ใช้สิ่งต่อไปนี้
สคริปต์:

#!bin / sh /

echo "กำลังส่งการแจ้งเตือน IRC"
ในขณะที่อ่านชื่อใหม่ refname เก่า; ทำ
irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${ใหม่})
ทำ

เพื่อความสะดวก สคริปต์ตัวช่วย irkerhook-git ดำเนินการนี้

ค่ากำหนดอาจถูกตั้งค่าในไฟล์กำหนดค่า repo ในส่วน [irker] นี่คือตัวอย่าง
ของสิ่งที่สามารถมีลักษณะดังนี้:

[เอิร์กเกอร์]
โครงการ = gpsd
สี = ANSI
ช่อง = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

คุณไม่ควรตั้งค่าตัวแปร "repository" (จะคำนวณเทียบเท่า) ไม่มีความพยายาม
ทำขึ้นเพื่อแปลไฟล์ irker.conf

ค่าดีฟอลต์ของตัวแปร "project" คือชื่อพื้นฐานของไดเร็กทอรีที่เก็บ
ค่าเริ่มต้นของตัวแปร "urlprefix" คือ "cgit"

มีตัวแปรเฉพาะ git หนึ่งตัวคือ "revformat" ที่ควบคุมรูปแบบของ commit
ตัวระบุในการแจ้งเตือน อาจมีค่าดังต่อไปนี้:

ดิบ
รหัสฐานสิบหกเต็มของการกระทำ

Short
รหัสเลขฐานสิบหก 12 ตัวแรก

บรรยาย
อธิบายสัมพันธ์กับแท็กสุดท้าย ถอยกลับไปสั้น

ค่าเริ่มต้นคือ 'อธิบาย'

การโค่นล้ม
ภายใต้การโค่นล้ม irkerhook.py ยอมรับ --repository ตัวเลือกที่มีค่า (ค่าสัมบูรณ์
ชื่อพาธของที่เก็บ Subversion) และอาร์กิวเมนต์คอมมิต (ระดับการแก้ไขตัวเลข
ของภาระผูกพัน) ค่าเริ่มต้นคือไดเร็กทอรีการทำงานปัจจุบันและ HEAD ตามลำดับ

อย่างไรก็ตาม โปรดทราบว่าคุณ ไม่ได้ เริ่มต้นอาร์กิวเมนต์ที่เก็บภายใน Subversion
ตะขอหลังกระทำ; นี่เป็นเพราะข้อจำกัดของการโค่นล้ม ซึ่งก็คือการได้รับ
ไดเรกทอรีปัจจุบันไม่น่าเชื่อถือภายใน hooks เหล่านี้ แทน ค่าต้องเป็น two
อาร์กิวเมนต์ที่การโค่นล้มส่งผ่านไปยังเบ็ดนั้นเป็นอาร์กิวเมนต์ ดังนั้น การเรียกโดยทั่วไปใน
สคริปต์หลังการคอมมิตจะมีลักษณะดังนี้:

REPO = 1 ดอลลาร์
REV=$2
irkerhook.py --repository=$REPO $REV

อื่น ๆ --variable=value การตั้งค่าอาจได้รับในบรรทัดคำสั่งและจะแทนที่
การตั้งค่าใด ๆ ในไฟล์ irker.conf

ค่าดีฟอลต์สำหรับตัวแปรโปรเจ็กต์คือชื่อฐานของที่เก็บ ค่าเริ่มต้น
ของตัวแปร "urlprefix" คือ "viewcvs"

หากมีไฟล์ irker.conf ในไดเร็กทอรีรากของที่เก็บ (ไม่ใช่ไดเร็กทอรีการเช็คเอาท์
แต่ที่ internals เช่นไฟล์ "รูปแบบ" มีชีวิตอยู่) เบ็ดจะตีความตัวแปร
การตั้งค่าจากมัน นี่คือตัวอย่างลักษณะของไฟล์ดังกล่าว:

# การตั้งค่าตัวแปร irkerhook สำหรับโครงการ irker
โครงการ = irker
ช่อง = irc://chat.freenode/irker,irc://chat.freenode/commits
tcp = เท็จ

อย่าตั้งค่าตัวแปร "repository" หรือ "commit" ในไฟล์นี้ ที่จะไม่มีความสุข
ผล.

ไม่มีตัวแปรเฉพาะการโค่นล้ม

หลายใจ
ภายใต้ Mercurial irkerhook.py สามารถเรียกใช้ได้สองวิธี: ไม่ว่าจะเป็น Python hook
(จะพิจารณาเป็นพิเศษ) หรือเป็นสคริปต์

หากต้องการเรียกมันว่า Python hook ให้เพิ่ม collowing ไปที่ "commit" หรือ "incoming" hook
ประกาศในที่เก็บ Mercurial ของคุณ:

[ตะขอ]
incoming.irker = หลาม:/path/to/irkerhook.py:hg_hook

เมื่อเรียกเป็นสคริปต์ hook ยอมรับตัวเลือก --repository ที่มีค่า (ค่าสัมบูรณ์
ชื่อพาธของที่เก็บ Mercurial) และสามารถรับอาร์กิวเมนต์ที่คอมมิตได้ (the Mercurial hash
ID ของการกระทำหรือการอ้างอิง) ค่าดีฟอลต์สำหรับอาร์กิวเมนต์ที่เก็บคือ
ไดเรกทอรีปัจจุบัน อาร์กิวเมนต์การคอมมิตเริ่มต้นคือ '-1' ซึ่งกำหนดทิปปัจจุบัน
กระทำ

สำหรับ git ในทั้งสองกรณี ตัวแปรทั้งหมดอาจถูกตั้งค่าในไฟล์ repo hgrc ใน [irker]
ส่วน. ยอมรับอาร์กิวเมนต์บรรทัดคำสั่งตัวแปร=ค่า แต่ไม่จำเป็นสำหรับสคริปต์
วิงวอน ไม่มีการพยายามตีความไฟล์ irker.conf

ค่าดีฟอลต์ของตัวแปร "project" คือชื่อพื้นฐานของไดเร็กทอรีที่เก็บ
ค่าเริ่มต้นของตัวแปร "urlprefix" คือค่าของ "web.baseurl" config
ค่า ถ้ามี

กรอง
เป็นไปได้ที่จะกรองการกระทำก่อนที่จะส่งไปยัง irkerd

คุณต้องระบุ cmd ตัวกรอง ตัวเลือกซึ่งจะเป็นคำสั่ง irkerhook.py จะทำงาน
คำสั่งนี้ควรยอมรับหนึ่งอาร์กิวเมนต์ ซึ่งเป็นตัวแทนของ JSON ของการคอมมิทและ
ข้อมูลเมตาของตัวแยก (รวมถึงตัวแปรช่อง) คำสั่งควรส่งไปยังมาตรฐาน
แสดงผลการแทนค่า JSON ของข้อมูลเมตา (อาจมีการเปลี่ยนแปลง)

ด้านล่างนี้เป็นตัวอย่างตัวกรอง:

#!/usr/bin/env หลาม
# นี่เป็นตัวอย่างเล็กน้อยของตัวกรองข้อมูลเมตา
# ทั้งหมดที่ทำคือเปลี่ยนชื่อของผู้กระทำการคอมมิต
#
นำเข้าระบบ json
ข้อมูลเมตา = json.loads(sys.argv[1])

ข้อมูลเมตา['ผู้เขียน'] = "ออซผู้ยิ่งใหญ่และทรงพลัง"

พิมพ์ json.dumps(ข้อมูลเมตา)
# จบ

ข้อผิดพลาดมาตรฐานมีอยู่ในเบ็ดสำหรับความคืบหน้าและข้อความแสดงข้อผิดพลาด

OPTIONS


irkerhook.py ใช้ตัวเลือกต่อไปนี้:

-n
ระงับการส่งไปยัง daemon ให้ดัมพ์คำขอ JSON ที่สร้างขึ้นไปที่
เอาต์พุตมาตรฐาน มีประโยชน์สำหรับการดีบัก

-V
เขียนเวอร์ชันของโปรแกรมไปที่ stdout และยุติ

ใช้ irkerhook ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad