Subject: Re: bug#35362: 26.2; [debbugs.el] Automate commit -> debbugs flow (posting patches, closing bugs after pushing)

From: Noam Postavsky <[email-masked]>
Date: Sat, 27 Apr 2019 09:44:24 -0400

tags 35362 fixed
close 35362 
quit

Michael Albinus <[email-masked]> writes:

> I believe your patch is almost OK, so let's apply it. But of course, I
> still have some few remarks :-)

Okay, pushed to master.

35f0db153 2019-04-27T09:28:21-04:00 "Automate commit -> debbugs workflow (Bug#35362)"
https://git.savannah.gnu.org/cgit/emacs/elpa.git/commit/?id=35f0db1532612e8b6b4bcc5ecd2f7e479735110a

>>>> Invoke the command @code{debbugs-gnu-pick-commits} and press
>>>
>>> Should we give this command a key binding?
>>
>> Maybe, but then the question is what map to bind it in.  Is it okay to
>> start adding things into vc-git-log-view-mode-map?
>
> Yep. Maybe we bind "c" for it, because other candidates (d/D/p/P) seem
> to be bound already.

Actually I noticed there are some minor modes that exist just to bind
some dwim command in a few different modes, so I added a
debbugs-gnu-pick-vc-log-commit-mode with the "c" binding (otherwise we
would need eval-after-load to change vc-git-log-view-mode-map which
package code isn't supposed to use).

> Furthermore, we might mention debbugs-gnu-pick-commits in the
> ;;; Commentary section of debbugs-gnu.el.
>
>
>> --- a/packages/debbugs/debbugs-gnu.el
>> +++ b/packages/debbugs/debbugs-gnu.el
>
>> +    (add-hook 'message-send-actions
>> +              (lambda () (remhash bugid debbugs-cache-data))
>> +              nil t)))
>
> Do we  need to declare message-send-actions?

No, add-hook operates on a symbol, not a variable.

>> +(defun debbugs-gnus-jump-to-bug (bugid)
>> +  "Display buffer associated with BUGID with `pop-to-buffer'.
>> +Use `gnus-read-ephemeral-emacs-bug-group' instead if there is no such buffer."
>
> Maybe you could add at least a FIXME for the lack of rmail support.

Ok.  Actually I see there is a debbugs-read-emacs-bug-with-rmail
function, so I think it shouldn't be too hard to figure out rmail
support, but I'll do it in a separate patch.

>> +(defun debbugs-gnu--git-insert (&rest args)
>> +  "Insert output of running git with ARGS.
>> +Throws error if git returns non-zero.  Uses `vc-git-program'."
>
> Don't mention vc-git-program.

ok

>> +  (unless (eql 0 (apply #'vc-git--call '(t t) args))
>
> Declare vc-git--call.

right.

>> +(defun debbugs-gnu--git-remote-info ()
>> +  "Return (REMOTE . INFO-ALIST)."
>
> Say, that REMOTE is a string, which must be matched by REMOTE-REGEXP of
> debbugs-gnu-git-remote-info-alist. Refer to the docstring of that user option.

right

>> +           (dir (make-temp-file (format "patches-for-bug%d-" bugnum) t))
>
> I'm curious: Why a trailing "-" in the buffer name?

That was a typo.

>> +           (deldir (lambda ()
>> +                     (delete-directory dir t)
>> +                     (remove-hook 'message-exit-actions deldir t)
>
> Do we  need to declare message-exit-actions?

no (as for add-hook)

>> +    (dolist (patch (directory-files dir t "\\`[^.]"))
>> +      (mml-attach-file patch type "patch" disposition))
>
> Do we  need to declare mml-attach-file?

It seems to already be autoloaded.

>> +`debbugs-gnu-pick-commits' and jump to read bug in prepration for
>
> Typo.

oops.

>> --- a/packages/debbugs/debbugs-ug.texi
>> +++ b/packages/debbugs/debbugs-ug.texi
>
>> +The string inserted to describe an announced commit is controlled by
>> +the variable @code{debbugs-gnu-commit-description-format}, it is a
>
> It is a user option.
>
>> +subitem is appended to the commit description.  By default this
>> +variable is configured for the GNU Emacs and GNU ELPA repositories,
>
> That's also a user option.

Right, I don't use customize much, so the distinction is lost on me.