ข้ามกฎสำหรับกลุ่มการดูแลระบบใน Rules.pl ในการกำหนดค่า Gerrit

ฉันไม่คุ้นเคยกับภาษาอารัมภบท ฉันใช้ตัวอย่างหมายเลข 8 ของตำราอาหารอารัมภบท

https://gerrit-review.googlesource.com/Documentation/prolog-cookbook.html#_example_8_make_change_submittable_only_if_tt_code_review_2_tt_is_given_by_a_non_author

รหัสใดคือ:

submit_filter(In,Out) :-
    In =.. [submit | Ls],
    add_non_author_approval(Ls, R),
    Out =.. [submit | R].

add_non_author_approval(S1, S2) :-
    gerrit:commit_author(A),
    gerrit:commit_label(label('Code-Review', 2), R),
    R \= A, !,
    S2 = [label('Non-Author-Code-Review', ok(R)) | S1].

add_non_author_approval(S1, [label('Non-Author-Code-Review', need(_)) | S1]).

นี่เป็นกฎที่บังคับให้ผู้ที่ไม่ใช่ผู้เขียนตรวจสอบโค้ดก่อนส่ง

มันทำงานได้ตามที่ตั้งใจไว้ แต่ฉันต้องการให้ผู้ใช้จากกลุ่มผู้ดูแลระบบข้ามกฎนี้ (หากพวกเขาเป็นผู้แต่งและผู้ตรวจสอบ +2 ควรเปิดใช้งานการส่งเสมอ)

ความช่วยเหลือใด ๆ ที่ชื่นชม


person Gustavo Mota    schedule 23.08.2019    source แหล่งที่มา
comment
เหตุผลที่คุณอาจไม่ได้รับคำตอบก็คือ 1. ไม่มีใครรู้จักเกอร์ริทมาสังสรรค์ที่นี่ 2. พวกเราที่รู้จัก Prolog ไม่ต้องการใช้เวลาเรียนรู้ Gerrit เพื่อตอบคำถามนี้ แม้ว่าฉันแน่ใจว่าพวกเราหลายคนที่นี่ที่รู้จัก Prolog สามารถตอบคำถามนี้ได้อย่างง่ายดาย แต่หากเรามี Prolog ที่กำหนด users from admin group และ +2 reviewer มันจะทำให้เราง่ายขึ้น   -  person Guy Coder    schedule 24.08.2019
comment
สิ่งที่น่าสนใจ: การตรวจสอบโค้ด Gerrit - การควบคุมการเข้าถึง - บันทึกประเภท กลุ่มที่กำหนดไว้ล่วงหน้า ซึ่งมี administrators แต่ไม่ได้อธิบายอย่างชัดเจนว่าพวกเขาทำอย่างไร เข้าถึงได้ด้วย Prolog   -  person Guy Coder    schedule 25.08.2019
comment
สิ่งที่น่าสนใจ: การตรวจสอบโค้ด Gerrit - ป้ายกำกับการตรวจสอบ - หมายเหตุ +2 ใน Label: Code-Review แต่ไม่ได้อธิบายให้แน่ชัด เข้าถึงได้อย่างไรด้วย Prolog   -  person Guy Coder    schedule 25.08.2019
comment
เนื่องจาก StakOverflow ไม่เหมาะสำหรับการสนทนาเป็นเวลานานกับคำถามเช่นนี้ (ใช่ ฉันรู้ว่ามันมีที่ว่าง แต่สำหรับคนใหม่ๆ อาจสร้างความสับสนได้) หากคุณโพสต์คำถามที่ วาทกรรม SWI-Prolog ฉันและคนอื่นๆ สามารถให้ความช่วยเหลือเพิ่มเติมได้ที่นั่น คุณต้องช่วยเราเกี่ยวกับแนวคิด Gerrit และเราสามารถช่วยคุณเกี่ยวกับแนวคิด Prolog ได้   -  person Guy Coder    schedule 25.08.2019
comment
ขอบคุณสำหรับการตอบกลับ ฉันจะโพสต์ในวาทกรรม SWI-Prolog และดูว่ามันจะเป็นอย่างไร   -  person Gustavo Mota    schedule 26.08.2019
comment
ยังไม่เห็นโพสต์ของคุณในวาทกรรม SWI-Prolog เราไม่กัด :)   -  person Guy Coder    schedule 28.08.2019