Function: magit-branch-maybe-delete-pr-remote

magit-branch-maybe-delete-pr-remote is a byte-compiled function defined in magit-branch.el.

Signature

(magit-branch-maybe-delete-pr-remote BRANCH)

Source Code

;; Defined in ~/.emacs.d/elpa/magit-20260411.1452/magit-branch.el
(defun magit-branch-maybe-delete-pr-remote (branch)
  (when-let ((remote (magit-get "branch" branch "pullRequestRemote")))
    (let* ((variable (format "remote.%s.fetch" remote))
           (refspecs (magit-get-all variable)))
      (unless (member (format "+refs/heads/*:refs/remotes/%s/*" remote)
                      refspecs)
        (let ((refspec
               (if (equal (magit-get "branch" branch "pushRemote") remote)
                   (format "+refs/heads/%s:refs/remotes/%s/%s"
                           branch remote branch)
                 (let ((merge (magit-get "branch" branch "merge")))
                   (and merge
                        (string-prefix-p "refs/heads/" merge)
                        (setq merge (substring merge 11))
                        (format "+refs/heads/%s:refs/remotes/%s/%s"
                                merge remote merge))))))
          (when (member refspec refspecs)
            (if (and (length= refspecs 1)
                     (magit-confirm 'delete-pr-remote
                       (list "Also delete remote %s (%s)" remote
                             "no pull-request branch remains")
                       nil t))
                (magit-call-git "remote" "rm" remote)
              (magit-call-git "config" "--unset-all" variable
                              (format "^%s$" (regexp-quote refspec))))))))))