Skip to content

Commit ac8ba91

Browse files
committed
forge-create-pullreq-insert-branch-description: New function
1 parent 13c0465 commit ac8ba91

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

lisp/forge-post.el

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ one of `new-discussion', `new-issue', `new-pullreq', `reply' and `edit'."
4949
:package-version '(forge . "0.5.4")
5050
:group 'forge
5151
:type 'hook
52-
:options '(forge-create-pullreq-insert-single-commit-message))
52+
:options '(forge-create-pullreq-insert-single-commit-message
53+
forge-create-pullreq-insert-branch-description))
5354

5455
(defcustom forge-post-fallback-directory
5556
(locate-user-emacs-file "forge-drafts/")
@@ -216,6 +217,22 @@ One of `new-discussion', `new-issue', `new-pullreq', `reply' and `edit'.")
216217
(delete-char -1))
217218
(goto-char 3)))
218219

220+
(defun forge-create-pullreq-insert-branch-description ()
221+
"When creating a pull-request, insert branch description, if any.
222+
Insert the value of `branch.BRANCH.description' of the source BRANCH."
223+
(when-let* ((source forge--buffer-head-branch)
224+
(description (magit-get "branch"
225+
(cdr (magit-split-branch-name source))
226+
"description")))
227+
(when (or (alist-get 'text forge--buffer-template)
228+
(> (point-max) 3))
229+
(goto-char (point-max))
230+
(unless (eq (char-before) ?\n)
231+
(insert ?\n))
232+
(insert "\n<!-- Branch description: -->\n\n"))
233+
(insert description)
234+
(goto-char 3)))
235+
219236
(defun forge--post-buffer-text ()
220237
(save-match-data
221238
(save-excursion

0 commit comments

Comments
 (0)