Chúng tôi có một quy ước rằng mọi thông điệp cam kết bắt đầu bằng một số vấn đề.
Tôi muốn có thể chèn phần số vấn đề (được tính bởi một chức năng riêng biệt) vào cửa sổ cam kết của Magit, khi nó mở lần đầu tiên (nghĩa là khi nhấn C C).
Làm thế nào để tôi làm tốt nhất? Nhìn ở đâu?
CẬP NHẬT: Đây là những gì tôi đang sử dụng.
(defun my-extract-branch-tag (branch-name)
(let ((TICKET-PATTERN "\\(?:[[:alpha:]]+-\\)?\\([[:alpha:]]+-[[:digit:]]+\\)-.*"))
(when (string-match-p TICKET-PATTERN branch-name)
(s-upcase (replace-regexp-in-string TICKET-PATTERN "[\\1] " branch-name)))))
(defun my-git-commit-insert-branch ()
(insert (my-extract-branch-tag (magit-get-current-branch))))
(add-hook 'git-commit-setup-hook 'my-git-commit-insert-branch)
Đối với một tên chi nhánh như <username>-foo-123-<explanatory part>
nó tạo ra [FOO-123]
trong dòng đầu tiên của thông điệp cam kết, để cho phép tự động liên kết vé dễ dàng trong Jira.