Lệnh truy cập yêu cầu kéo Github của chi nhánh hiện tại với Magit


15

Điều rất phổ biến là, sau khi đẩy một nhánh nhất định ngược dòng, tôi sẽ muốn truy cập nó trên github và tạo một yêu cầu kéo. Tôi bắt đầu thấy khó chịu khi phải truy cập repo thủ công, tìm chi nhánh và tạo PR.

H: Làm thế nào tôi có thể viết một lệnh truy cập url PR trong trình duyệt?

Các url PR được đưa ra bởi https://github.com/ORIGIN-REPO/compare/BRANCH-NAME. Kể từ khi cả hai originbranch-nameđược biết đến bởi Magit (và đồng bằng git), nó phải là dễ dàng để viết một lệnh xây dựng URL và các cuộc gọi browse-urltrên đó.

Thật không may, tôi không biết gì về hoạt động nội bộ của Magit, vì vậy tôi không biết làm thế nào để có được thông tin đó.


2
Tôi chưa khám phá điều này, nhưng có một yêu cầu kéo có liên quan đến plugin magit: github.com/sigma/magit-gh-pulls/pull/21
glucas

@glucas có vẻ hứa hẹn. Tôi sẽ kiểm tra khi tôi có thời gian.
Malabarba

Ồ, cái này rất hữu ích
Sean Allred

Câu trả lời:


9

Đây là những gì tôi nghĩ ra:

(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 Nhân tiện, nó khá dễ đọc.


3

Malabarba đã đăng cách tiếp cận của mình trên blog của mình.

(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))))

Nhân tiện, tôi dự định sẽ thêm chức năng tương tự (và nhiều hơn nữa ;-) vào chính Magit, cuối cùng.


@Malabarba việc xuất đoạn trích đó đã sai trên blog của bạn.
tarsius

Và hãy cho tôi biết khi bạn thêm một cái gì đó như thế vào magit. :-)
Malabarba

3

Bạn đã xem xét magithub ?

Nó không cho phép bạn xem yêu cầu kéo của chi nhánh hiện tại, nhưng nó cung cấp cho bạn một danh sách đầy đủ các yêu cầu kéo mà bạn có thể truy cập bằng cách nhấn RET.

nhập mô tả hình ảnh ở đây

Lưu ý điều này đòi hỏi trung tâm 2.2 .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.