mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 21:37:34 +00:00
Allow matching non-.git gitlab and gitea URLs in bug-reference
* lisp/progmodes/bug-reference.el (bug-reference--build-forge-setup-entry): Allow matching non-.git gitlab and gitea URLs, with and without slashes (bug#51316).
This commit is contained in:
parent
65cd2d90b7
commit
3fac3120f8
2 changed files with 72 additions and 6 deletions
|
|
@ -287,7 +287,7 @@ via the internet it might also be http.")
|
|||
(cl-defmethod bug-reference--build-forge-setup-entry
|
||||
(host-domain (_forge-type (eql 'gitlab)) protocol)
|
||||
`(,(concat "[/@]" (regexp-quote host-domain)
|
||||
"[/:]\\([.A-Za-z0-9_/-]+\\)\\.git")
|
||||
"[/:]\\([.A-Za-z0-9_/-]+?\\)\\(?:\\.git\\)?/?\\'")
|
||||
"\\(\\([.A-Za-z0-9_/-]+\\)?\\([#!]\\)\\([0-9]+\\)\\)\\>"
|
||||
,(lambda (groups)
|
||||
(let ((ns-project (nth 1 groups)))
|
||||
|
|
@ -304,7 +304,7 @@ via the internet it might also be http.")
|
|||
(cl-defmethod bug-reference--build-forge-setup-entry
|
||||
(host-domain (_forge-type (eql 'gitea)) protocol)
|
||||
`(,(concat "[/@]" (regexp-quote host-domain)
|
||||
"[/:]\\([.A-Za-z0-9_/-]+\\)\\.git")
|
||||
"[/:]\\([.A-Za-z0-9_/-]+?\\)\\(?:\\.git\\)?/?\\'")
|
||||
"\\(\\([.A-Za-z0-9_/-]+\\)?\\(?:#\\)\\([0-9]+\\)\\)\\>"
|
||||
,(lambda (groups)
|
||||
(let ((ns-project (nth 1 groups)))
|
||||
|
|
|
|||
|
|
@ -26,12 +26,26 @@
|
|||
(require 'bug-reference)
|
||||
(require 'ert)
|
||||
|
||||
(defun test--get-github-entry (protocol)
|
||||
(defun test--get-github-entry (url)
|
||||
(and (string-match
|
||||
(car (bug-reference--build-forge-setup-entry
|
||||
"github.com" 'github protocol))
|
||||
protocol)
|
||||
(match-string 1 protocol)))
|
||||
"github.com" 'github "https"))
|
||||
url)
|
||||
(match-string 1 url)))
|
||||
|
||||
(defun test--get-gitlab-entry (url)
|
||||
(and (string-match
|
||||
(car (bug-reference--build-forge-setup-entry
|
||||
"gitlab.com" 'gitlab "https"))
|
||||
url)
|
||||
(match-string 1 url)))
|
||||
|
||||
(defun test--get-gitea-entry (url)
|
||||
(and (string-match
|
||||
(car (bug-reference--build-forge-setup-entry
|
||||
"gitea.com" 'gitea "https"))
|
||||
url)
|
||||
(match-string 1 url)))
|
||||
|
||||
(ert-deftest test-github-entry ()
|
||||
(should
|
||||
|
|
@ -59,4 +73,56 @@
|
|||
(test--get-github-entry "https://github.com/magit/magit/")
|
||||
"magit/magit")))
|
||||
|
||||
(ert-deftest test-gitlab-entry ()
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitlab-entry "git@gitlab.com:larsmagne/csid.git")
|
||||
"larsmagne/csid"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitlab-entry "git@gitlab.com:larsmagne/csid")
|
||||
"larsmagne/csid"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitlab-entry "https://gitlab.com/magit/magit.git")
|
||||
"magit/magit"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitlab-entry "https://gitlab.com/magit/magit.git/")
|
||||
"magit/magit"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitlab-entry "https://gitlab.com/magit/magit")
|
||||
"magit/magit"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitlab-entry "https://gitlab.com/magit/magit/")
|
||||
"magit/magit")))
|
||||
|
||||
(ert-deftest test-gitea-entry ()
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitea-entry "git@gitea.com:larsmagne/csid.git")
|
||||
"larsmagne/csid"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitea-entry "git@gitea.com:larsmagne/csid")
|
||||
"larsmagne/csid"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitea-entry "https://gitea.com/magit/magit.git")
|
||||
"magit/magit"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitea-entry "https://gitea.com/magit/magit.git/")
|
||||
"magit/magit"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitea-entry "https://gitea.com/magit/magit")
|
||||
"magit/magit"))
|
||||
(should
|
||||
(equal
|
||||
(test--get-gitea-entry "https://gitea.com/magit/magit/")
|
||||
"magit/magit")))
|
||||
|
||||
;;; bug-reference-tests.el ends here
|
||||
|
|
|
|||
Loading…
Reference in a new issue