Function: forge--fetch-pullreqs

forge--fetch-pullreqs is a byte-compiled function defined in forge-gitlab.el.

Signature

(forge--fetch-pullreqs ARG &rest ARGS)

Implementations

(forge--fetch-pullreqs (REPO forge-gitlab-repository) CALLBACK SINCE) in `forge-gitlab.el'.

Undocumented

Source Code

;; Defined in ~/.emacs.d/elpa/forge-20260408.1922/forge-gitlab.el
;;;; Pullreqs

(cl-defmethod forge--fetch-pullreqs ((repo forge-gitlab-repository) callback since)
  (letrec
      (( cb (let (val cur cnt pos)
              (lambda (&optional v)
                (cond
                  ((and (not pos) v)
                   (setq val v)
                   (setq cur v)
                   (setq pos 1)
                   (setq cnt (length val))
                   (forge--msg nil nil nil "Pulling pullreq %s/%s" pos cnt)
                   (forge--fetch-pullreq-posts repo cur cb))
                  ((not pos)
                   (forge--msg repo t t "Pulling REPO pullreqs")
                   (funcall callback val))
                  ((not (assq 'source_project (car cur)))
                   (forge--fetch-pullreq-source-repo repo cur cb))
                  ((not (assq 'target_project (car cur)))
                   (forge--fetch-pullreq-target-repo repo cur cb))
                  ((setq cur (cdr cur))
                   (cl-incf pos)
                   (forge--msg nil nil nil "Pulling pullreq %s/%s" pos cnt)
                   (forge--fetch-pullreq-posts repo cur cb))
                  (t
                   (forge--msg repo t t "Pulling REPO pullreqs")
                   (funcall callback val)))))))
    (forge--msg repo t nil "Pulling REPO pullreqs")
    (forge--glab-get repo "/projects/:project/merge_requests"
      `((per_page . 100)
        (order_by . "updated_at")
        ,@(and$ (or since (oref repo pullreqs-until))
                `((updated_after . ,$))))
      :unpaginate t
      :callback cb)))