คำสั่งให้เยี่ยมชม Github คำขอดึงสาขาปัจจุบันด้วย Magit


15

เป็นเรื่องธรรมดามากที่หลังจากผลักสาขาต้นน้ำที่กำหนดฉันจะต้องการเยี่ยมชมบน GitHub และสร้างคำขอดึง ฉันเริ่มรำคาญที่ต้องไปเยี่ยมชม repo ด้วยตนเองค้นหาสาขาและสร้างการประชาสัมพันธ์

ถาม:ฉันจะเขียนคำสั่งที่เยี่ยมชม PR url ในเบราว์เซอร์ได้อย่างไร?

URL https://github.com/ORIGIN-REPO/compare/BRANCH-NAMEของพีอาร์จะได้รับจาก ตั้งแต่ทั้งoriginและbranch-nameรู้จักโดย Magit (และโดยธรรมดาgit) มันควรจะง่ายต่อการเขียนคำสั่งที่สร้าง URL นั้นและเรียกbrowse-urlมัน

น่าเสียดายที่ฉันไม่รู้อะไรเลยเกี่ยวกับการทำงานภายในของ Magit ดังนั้นฉันจึงไม่รู้วิธีรับข้อมูลนั้น


2
ฉันยังไม่ได้สำรวจสิ่งนี้ แต่มีคำขอดึงที่เกี่ยวข้องไปยังปลั๊กอินของ magit: github.com/sigma/magit-gh-pulls/pull/21
glucas

@glucas ดูมีแนวโน้ม ฉันจะทดสอบเมื่อฉันได้รับเวลา
Malabarba

โอ้นี่มีประโยชน์ ...
Sean Allred

คำตอบ:


9

นี่คือสิ่งที่ฉันมาด้วย:

(defun pull-request-url ()
  "Build the URL or the pull requestion on GitHub corresponding
to the current branch. Uses Magit."
  (interactive)
  (format "%s/compare/%s"
           (replace-regexp-in-string
            (rx (and string-start (1+ any) "github.com:" (group (1+ any)) ".git" string-end))
            "https://github.com/\\1"
            (magit-get "remote" (magit-get-current-remote) "url"))
          (magit-get-current-branch)))

magit.el มันอ่านง่ายทีเดียว


3

Malabarba ได้โพสต์วิธีการของเขาในบล็อกของเขา

(defun endless/visit-pull-request-url ()
  "Visit the current branch's PR on Github."
  (interactive)
  (browse-url (format "https://github.com/%s/pull/new/%s"
                      (replace-regexp-in-string
                       "\\`.+github\\.com:\\(.+\\)\\.git\\'" "\\1"
                       (magit-get "remote" (magit-get-push-remote) "url"))
                      (magit-get-current-branch))))

โดยวิธีการที่ฉันตั้งใจจะเพิ่มฟังก์ชั่นที่คล้ายกัน (และอีกมาก ;-) เพื่อ Magit ตัวเองในที่สุด


@Malabarba การส่งออกข้อมูลโค้ดนั้นผิดพลาดในบล็อกของคุณ
Tarsius

และแจ้งให้เราทราบเมื่อคุณเพิ่มบางอย่างเช่นนั้นลงใน magit :-)
Malabarba

3

คุณคิดว่าmagithubหรือไม่?

มันไม่ได้ช่วยให้คุณดูคำขอดึงของสาขาในปัจจุบัน RETแต่จะช่วยให้คุณรายการเต็มรูปแบบของการร้องขอดึงซึ่งคุณสามารถเยี่ยมชมได้โดยการกด

ป้อนคำอธิบายรูปภาพที่นี่

หมายเหตุนี้ต้องใช้ฮับ 2.2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.