update packages
This commit is contained in:
@@ -6,13 +6,14 @@
|
||||
;; Homepage: https://github.com/magit/orgit
|
||||
;; Keywords: hypermedia vc
|
||||
|
||||
;; Package-Version: 20250601.1057
|
||||
;; Package-Revision: 224350397df0
|
||||
;; Package-Version: 20251123.1801
|
||||
;; Package-Revision: 0444b8659620
|
||||
;; Package-Requires: (
|
||||
;; (emacs "27.1")
|
||||
;; (compat "30.1")
|
||||
;; (magit "4.3.6")
|
||||
;; (org "9.7"))
|
||||
;; (emacs "28.1")
|
||||
;; (compat "30.1")
|
||||
;; (cond-let "0.2")
|
||||
;; (magit "4.4")
|
||||
;; (org "9.7"))
|
||||
|
||||
;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -94,6 +95,7 @@
|
||||
|
||||
(require 'cl-lib)
|
||||
(require 'compat)
|
||||
(require 'cond-let)
|
||||
(require 'format-spec)
|
||||
(require 'magit)
|
||||
(require 'org)
|
||||
@@ -331,8 +333,7 @@ In that case `orgit-rev-store' stores one or more links instead."
|
||||
(read args))
|
||||
((string-prefix-p "(" args)
|
||||
(list (read args) (car (magit-log-arguments))))
|
||||
(t
|
||||
(list (list args) (car (magit-log-arguments)))))))
|
||||
((list (list args) (car (magit-log-arguments)))))))
|
||||
(magit-log-setup-buffer revs args files)))
|
||||
|
||||
;;;###autoload
|
||||
@@ -342,7 +343,7 @@ In that case `orgit-rev-store' stores one or more links instead."
|
||||
(caar (read args)))
|
||||
((string-prefix-p "(" args)
|
||||
(car (read args)))
|
||||
(t args))))
|
||||
(args))))
|
||||
(when (string-prefix-p "--" first-branch)
|
||||
(setq first-branch nil))
|
||||
(orgit-export (concat repo "::" first-branch)
|
||||
@@ -386,13 +387,12 @@ stores a link itself, without calling this function.
|
||||
|
||||
When the region selects one or more commits, e.g., in a log, then
|
||||
store links to the Magit-Revision mode buffers for these commits."
|
||||
(cond ((eq major-mode 'magit-revision-mode)
|
||||
(orgit-rev-store-1 magit-buffer-revision))
|
||||
((derived-mode-p 'magit-mode)
|
||||
(when-let* ((revs (magit-region-values 'commit)))
|
||||
;; Cannot use and-let* because of debbugs#31840.
|
||||
(mapc #'orgit-rev-store-1 revs)
|
||||
t))))
|
||||
(cond-let ((eq major-mode 'magit-revision-mode)
|
||||
(orgit-rev-store-1 magit-buffer-revision))
|
||||
([_(derived-mode-p 'magit-mode)]
|
||||
[revs (magit-region-values 'commit)]
|
||||
(mapc #'orgit-rev-store-1 revs)
|
||||
t)))
|
||||
|
||||
(defun orgit-rev-store-1 (rev)
|
||||
(pcase-let* ((repo (orgit--current-repository))
|
||||
@@ -442,35 +442,33 @@ store links to the Magit-Revision mode buffers for these commits."
|
||||
(defun orgit-export (path desc format gitvar idx)
|
||||
(pcase-let* ((`(,dir ,rev) (split-string path "::"))
|
||||
(dir (orgit--repository-directory dir)))
|
||||
(if (file-exists-p dir)
|
||||
(let* ((default-directory dir)
|
||||
(remotes (magit-git-lines "remote"))
|
||||
(remote (magit-get "orgit.remote"))
|
||||
(remote (cond ((length= remotes 1) (car remotes))
|
||||
((member remote remotes) remote)
|
||||
((member orgit-remote remotes) orgit-remote))))
|
||||
(if remote
|
||||
(if-let ((link
|
||||
(or (and-let* ((url (magit-get "orgit" gitvar)))
|
||||
(format-spec url `((?r . ,rev))))
|
||||
(and-let* ((url (magit-get "remote" remote "url"))
|
||||
(format (cl-find-if
|
||||
(lambda (elt)
|
||||
(string-match (car elt) url))
|
||||
orgit-export-alist)))
|
||||
(format-spec (nth idx format)
|
||||
`((?n . ,(match-string 1 url))
|
||||
(?r . ,rev)))))))
|
||||
(orgit--format-export link desc format)
|
||||
(signal 'org-link-broken
|
||||
(list (format "Cannot determine public url for %s"
|
||||
path))))
|
||||
(signal 'org-link-broken
|
||||
(list (format "Cannot determine public remote for %s"
|
||||
default-directory)))))
|
||||
(cond-let*
|
||||
((not (file-exists-p dir))
|
||||
(signal 'org-link-broken
|
||||
(list (format "Cannot determine public url for %s %s"
|
||||
path "(which itself does not exist)"))))))
|
||||
path "(which itself does not exist)"))))
|
||||
[[default-directory dir]
|
||||
[remotes (magit-git-lines "remote")]
|
||||
[remote (magit-get "orgit.remote")]
|
||||
[remote (cond ((length= remotes 1) (car remotes))
|
||||
((member remote remotes) remote)
|
||||
((member orgit-remote remotes) orgit-remote))]]
|
||||
((not remote)
|
||||
(signal 'org-link-broken
|
||||
(list (format "Cannot determine public remote for %s"
|
||||
default-directory))))
|
||||
([url (magit-get "orgit" gitvar)]
|
||||
(orgit--format-export (format-spec url `((?r . ,rev))) desc format))
|
||||
([url (magit-get "remote" remote "url")]
|
||||
[format (cl-find-if (lambda (elt)
|
||||
(string-match (car elt) url))
|
||||
orgit-export-alist)]
|
||||
(orgit--format-export (format-spec (nth idx format)
|
||||
`((?n . ,(match-string 1 url))
|
||||
(?r . ,rev)))
|
||||
desc format))
|
||||
((signal 'org-link-broken
|
||||
(list (format "Cannot determine public url for %s" path)))))))
|
||||
|
||||
(defun orgit--format-export (link desc format)
|
||||
(pcase format
|
||||
@@ -492,13 +490,16 @@ store links to the Magit-Revision mode buffers for these commits."
|
||||
(cond ((file-exists-p dir) dir)
|
||||
((string-match-p "\\`[./]" repo)
|
||||
(error "Cannot open link; %S does not exist" dir))
|
||||
(t
|
||||
(error "Cannot open link; no entry for %S in `%s'"
|
||||
((error "Cannot open link; no entry for %S in `%s'"
|
||||
repo 'magit-repository-directories)))))
|
||||
|
||||
;;; _
|
||||
(provide 'orgit)
|
||||
;; Local Variables:
|
||||
;; indent-tabs-mode: nil
|
||||
;; read-symbol-shorthands: (
|
||||
;; ("and-let" . "cond-let--and-let")
|
||||
;; ("if-let" . "cond-let--if-let")
|
||||
;; ("when-let" . "cond-let--when-let"))
|
||||
;; End:
|
||||
;;; orgit.el ends here
|
||||
|
||||
Reference in New Issue
Block a user