branch: master commit 760da7394f62768846f7bb60bbc0b9972cc67031 Author: Michael Albinus <michael.albi...@gmx.de> Commit: Michael Albinus <michael.albi...@gmx.de>
; Commit debbugs-ug.info, minor edits in debbugs-gnu.el --- packages/debbugs/debbugs-gnu.el | 15 +--- packages/debbugs/debbugs-ug.info | 160 ++++++++++++++++++++++++++++----------- 2 files changed, 119 insertions(+), 56 deletions(-) diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el index c2309a8..51825bd 100644 --- a/packages/debbugs/debbugs-gnu.el +++ b/packages/debbugs/debbugs-gnu.el @@ -156,8 +156,7 @@ ;; ;; M-x debbugs-gnu-pick-commits ;; -;; (bound to "c" in *vc-change-log* buffers). Then the follow the -;; prompts. +;; (bound to "c" in *vc-change-log* buffers). Then follow the prompts. ;;; Code: @@ -1879,7 +1878,8 @@ Optionally call `debbugs-gnu-make-control-message' to close BUGNUM." "Attach COMMIT-RANGE as patches into current message. Optionally call `debbugs-gnu-make-control-message'' to tag BUGNUM with `patch'." - (letrec ((disposition (completing-read "disposition: " '("inline" "attachment"))) + (letrec ((disposition + (completing-read "disposition: " '("inline" "attachment"))) ;; Make attachments text/plain for better compatibility ;; (e.g., opening in browser instead of downloading). (type (if (equal disposition "inline") "text/x-diff" "text/plain")) @@ -2440,15 +2440,6 @@ If given a prefix, patch in the branch directory instead." ;; * Extend SOAP interface to get existing package names on the ;; server, in order not to hardcode them. -;; * Add debbugs commands to commit messages. -;; It'd be nice if the language would be something along the lines of -;; -;; bug#45 done -;; bug#45 tags 25.1 fixed -;; -;; That is, that you could drop arbitrary debbugs commands into -;; commit messages. - ;; * The bug tracker should be aware of repositories, branches, ;; commits, contributors, and ticket links or mentions in commit ;; messages. diff --git a/packages/debbugs/debbugs-ug.info b/packages/debbugs/debbugs-ug.info index 9494e07..4340c83 100644 --- a/packages/debbugs/debbugs-ug.info +++ b/packages/debbugs/debbugs-ug.info @@ -302,6 +302,7 @@ tabulated list, and 'debbugs-org-*' return a list of TODO items in * TODO Items:: TODO Items. * Control Messages:: Control Messages. * Applying Patches:: Applying Patches in the Emacs Repository. +* Posting Patches:: Posting Patches to Debbugs from the Emacs Repository. File: debbugs-ug.info, Node: Tabulated Lists, Next: TODO Items, Up: Presenting Bugs @@ -567,7 +568,7 @@ be inconvenient, for example when an external interactive mail client is configured. -File: debbugs-ug.info, Node: Applying Patches, Prev: Control Messages, Up: Presenting Bugs +File: debbugs-ug.info, Node: Applying Patches, Next: Posting Patches, Prev: Control Messages, Up: Presenting Bugs 3.4 Applying Patches in the Emacs Repository ============================================ @@ -596,6 +597,69 @@ a ChangeLog entry with all needed information. A final 'M-m' in the 'ChangeLog' buffer commits the patch via '*vc-log*'. +File: debbugs-ug.info, Node: Posting Patches, Prev: Applying Patches, Up: Presenting Bugs + +3.5 Posting Patches to Debbugs from the Emacs Repository +======================================================== + +Once you have committed a patch locally to fix a bug you usually want +to post it to the bug thread for review and testing. And when the +patch is deemed satisfactory and pushed to the official repository, +the bug should be marked closed. + + The query for commit (or commit range) to use is controlled by +'debbugs-gnu-read-commit-range-hook'. Initially it has an entry which +operates in '*vc-change-log*' buffers, but additional entries may be +added to give sensible results for other modes that work with git. + + The command 'debbugs-gnu-pick-commits' (bound to 'c' in +'*vc-change-log*' buffers by default) helps automate both these +processes: it queries for a commit (or commit range), and a bug number +(defaulting to the bug number mentioned in the commit message). It +then jumps you to a buffer associated with the bug. When you reply to +a message in the bug thread, you are asked whether to post the commits +as patches (optionally tagging the bug with '"patch"'), or announce +that the bug has been fixed by the selected commits (optionally +closing the bug and marking as closed in the Emacs version +corresponding to the patch). + + For example, suppose you are reading the message of "Bug#12345: +foo-mode fails to call frobnicate on startup" in a message buffer. +You decide to fix it, so you switch to the source code, add in the +missing call and commit locally, with the commit message "* +lisp/foo-mode.el (foo-mode): Call frobnicate (Bug#12345)." Use 'C-x v +l' to run 'vc-print-log', and navigate to the new commit. Press 'c' +and then '<RET>' to accept the default bug number (which will be 12345 +since it's in the commit message) in response to the prompt. You are +then popped to the message buffer, and when you reply to the message, +press 'p' to post the git formatted patch as an attachment for review, +and then answer 'y' to tag the bug with '"patch"' when the message is +sent. Assuming you get favorable reviews, you then push it, and again +hit 'c' but this time press 'a' (for "announce") after replying to the +relevant bug thread message. This will insert some text describing +the commit and where it was pushed to, and answering 'y' will arrange +for the bug to be closed when the message is sent. + +* Menu: + +* Customizing debbugs-gnu-pick-commits:: + + +File: debbugs-ug.info, Node: Customizing debbugs-gnu-pick-commits, Up: Posting Patches + +3.5.1 Customizing debbugs-gnu-pick-commits +------------------------------------------ + +The string inserted to describe an announced commit is controlled by +the user option 'debbugs-gnu-commit-description-format', it is a +format string passed to the '--format' argument of 'git show'. +Additionally, if the remote url matches an entry in +'debbugs-gnu-git-remote-info-alist', then its 'commit-url' subitem is +appended to the commit description. By default this user option is +configured for the GNU Emacs and GNU ELPA repositories, more entries +may be added to work with other repositories of other packages. + + File: debbugs-ug.info, Node: Minor Mode, Next: Command Index, Prev: Presenting Bugs, Up: Top 4 Minor Mode @@ -632,6 +696,7 @@ Command Index * debbugs-gnu: Retrieving Bugs. (line 15) * debbugs-gnu-bugs: Retrieving Bugs. (line 69) * debbugs-gnu-patches: Retrieving Bugs. (line 86) +* debbugs-gnu-pick-commits: Posting Patches. (line 16) * debbugs-gnu-search: Searching Bugs. (line 15) * debbugs-org: Retrieving Bugs. (line 17) * debbugs-org-bugs: Retrieving Bugs. (line 70) @@ -651,11 +716,16 @@ Variable Index * debbugs-gnu-all-packages: Retrieving Bugs. (line 36) * debbugs-gnu-all-severities: Retrieving Bugs. (line 27) * debbugs-gnu-branch-directory: Applying Patches. (line 18) +* debbugs-gnu-commit-description-format: Customizing debbugs-gnu-pick-commits. + (line 6) * debbugs-gnu-default-bug-number-list: Retrieving Bugs. (line 81) * debbugs-gnu-default-packages: Retrieving Bugs. (line 63) * debbugs-gnu-default-severities: Retrieving Bugs. (line 63) * debbugs-gnu-default-suppress-bugs: Retrieving Bugs. (line 44) +* debbugs-gnu-git-remote-info-alist: Customizing debbugs-gnu-pick-commits. + (line 6) * debbugs-gnu-mail-backend: Tabulated Lists. (line 83) +* debbugs-gnu-read-commit-range-hook: Posting Patches. (line 11) * debbugs-gnu-send-mail-function: Control Messages. (line 133) * debbugs-gnu-suppress-closed: Tabulated Lists. (line 80) * debbugs-gnu-trunk-directory: Applying Patches. (line 18) @@ -940,8 +1010,8 @@ Debbugs control mailserver commands # set tags to exactly 'moreinfo' and 'unreproducible' tags 123456 = moreinfo unreproducible - Available tags are patch, wontfix, moreinfo, unreproducible, - notabug, fixed, pending, help, security, confirmed and easy. + Available tags currently include patch, wontfix, moreinfo, + unreproducible, help, pending, fixed, security, notabug and easy. For their meanings please consult the general developers' documentation for the bug system. @@ -1045,46 +1115,48 @@ Node: Searching Bugs6937 Ref: Searching Bugs-Footnote-111250 Ref: Searching Bugs-Footnote-211338 Node: Presenting Bugs11429 -Node: Tabulated Lists12005 -Node: TODO Items15860 -Node: Control Messages17072 -Node: Applying Patches20586 -Node: Minor Mode21952 -Node: Command Index23008 -Node: Variable Index23797 -Node: Key Index24871 -Node: Mail Command Index26579 -Ref: Mail Command Index: reassign26732 -Ref: Mail Command Index: reopen27498 -Ref: Mail Command Index: found28652 -Ref: Mail Command Index: notfound29733 -Ref: Mail Command Index: fixed30142 -Ref: Mail Command Index: notfixed30588 -Ref: Mail Command Index: submitter31211 -Ref: Mail Command Index: forwarded31605 -Ref: Mail Command Index: notforwarded32222 -Ref: Mail Command Index: retitle32423 -Ref: Mail Command Index: severity32807 -Ref: Mail Command Index: clone33138 -Ref: Mail Command Index: merge33902 -Ref: Mail Command Index: forcemerge35289 -Ref: Mail Command Index: unmerge35733 -Ref: Mail Command Index: tags36436 -Ref: Mail Command Index: block37499 -Ref: Mail Command Index: unblock37536 -Ref: Mail Command Index: close38021 -Ref: Mail Command Index: package38671 -Ref: Mail Command Index: owner39283 -Ref: Mail Command Index: noowner39646 -Ref: Mail Command Index: archive39819 -Ref: Mail Command Index: unarchive39960 -Ref: Mail Command Index: #40253 -Ref: Mail Command Index: quit40513 -Ref: Mail Command Index: stop40520 -Ref: Mail Command Index: thank40527 -Ref: Mail Command Index: thanks40535 -Ref: Mail Command Index: thankyou40544 -Ref: Mail Command Index: thank you40555 -Ref: Mail Command Index: --40567 +Node: Tabulated Lists12091 +Node: TODO Items15946 +Node: Control Messages17158 +Node: Applying Patches20672 +Node: Posting Patches22062 +Node: Customizing debbugs-gnu-pick-commits24547 +Node: Minor Mode25247 +Node: Command Index26303 +Node: Variable Index27163 +Node: Key Index28608 +Node: Mail Command Index30316 +Ref: Mail Command Index: reassign30469 +Ref: Mail Command Index: reopen31235 +Ref: Mail Command Index: found32389 +Ref: Mail Command Index: notfound33470 +Ref: Mail Command Index: fixed33879 +Ref: Mail Command Index: notfixed34325 +Ref: Mail Command Index: submitter34948 +Ref: Mail Command Index: forwarded35342 +Ref: Mail Command Index: notforwarded35959 +Ref: Mail Command Index: retitle36160 +Ref: Mail Command Index: severity36544 +Ref: Mail Command Index: clone36875 +Ref: Mail Command Index: merge37639 +Ref: Mail Command Index: forcemerge39026 +Ref: Mail Command Index: unmerge39470 +Ref: Mail Command Index: tags40173 +Ref: Mail Command Index: block41239 +Ref: Mail Command Index: unblock41276 +Ref: Mail Command Index: close41761 +Ref: Mail Command Index: package42411 +Ref: Mail Command Index: owner43023 +Ref: Mail Command Index: noowner43386 +Ref: Mail Command Index: archive43559 +Ref: Mail Command Index: unarchive43700 +Ref: Mail Command Index: #43993 +Ref: Mail Command Index: quit44253 +Ref: Mail Command Index: stop44260 +Ref: Mail Command Index: thank44267 +Ref: Mail Command Index: thanks44275 +Ref: Mail Command Index: thankyou44284 +Ref: Mail Command Index: thank you44295 +Ref: Mail Command Index: --44307 End Tag Table