Perintah untuk mengunjungi Github menarik permintaan cabang saat ini dengan Magit


15

Sangat umum bahwa, setelah mendorong cabang tertentu ke hulu, saya ingin mengunjunginya di github dan membuat permintaan tarik. Saya mulai merasa kesal karena harus secara manual mengunjungi repo, menemukan cabang, dan membuat PR.

Q: Bagaimana saya bisa menulis perintah yang mengunjungi url PR di browser?

URL PR diberikan oleh https://github.com/ORIGIN-REPO/compare/BRANCH-NAME. Karena keduanya origindan yang branch-namedikenal dengan Magit (dan dengan polos git), seharusnya mudah untuk menulis perintah yang membangun URL dan panggilanbrowse-url .

Sayangnya, saya tidak tahu apa-apa tentang cara kerja internal Magit, jadi saya tidak tahu cara mendapatkan informasi itu.


2
Saya belum menjelajahi ini, tetapi ada permintaan tarik yang relevan untuk plugin magit
glucas

@glucas terlihat menjanjikan. Saya akan menguji ketika saya mendapatkan waktu.
Malabarba

Oh, ini berguna ...
Sean Allred

Jawaban:


9

Inilah yang saya pikirkan:

(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 cukup mudah dibaca, omong-omong.


3

Malabarba telah memposting pendekatannya di blog-nya.

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

Ngomong-ngomong, saya bermaksud untuk menambahkan fungsionalitas yang serupa (dan lebih banyak ;-) untuk Magit sendiri, pada akhirnya.


@Malabarba ekspor cuplikan itu salah di blog Anda.
tarsius

Dan beri tahu saya ketika Anda menambahkan sesuatu seperti itu ke dalam magit. :-)
Malabarba

3

Sudahkah Anda mempertimbangkan magithub ?

Itu tidak memungkinkan Anda melihat permintaan tarikan dari cabang saat ini, tetapi itu memberi Anda daftar lengkap permintaan tarikan yang dapat Anda kunjungi dengan menekan RET.

masukkan deskripsi gambar di sini

Perhatikan ini membutuhkan hub 2.2 .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.