unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: "Bonface M. K." <bonfacemunyoki@gmail.com>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: December 2020 (old) bugs squashing!
Date: Mon, 07 Dec 2020 03:26:05 +0100	[thread overview]
Message-ID: <86eek28i82.fsf@gmail.com> (raw)
In-Reply-To: <86pn3ow3nt.fsf@gmail.com>

Hi,

On Sat, 05 Dec 2020 at 20:42, "Bonface M. K." <bonfacemunyoki@gmail.com> wrote:

> Just curious, how do you get debbugs to show
> forgotten patches. I'm only beginning to use it
> now ...

Forgotten patches are just old patches. ;-)


What I do with Emacs is: “M-x debbugs-gnu“ to have all the bugs and
patches; with something in my config file as:

  (setq
   debbugs-gnu-default-packages '("guix-patches" "guix")
   gnus-summary-line-format "%I%(%[ %n%]%) %s\n"))

Then I scroll down the buffer, generally M-> and I look for the state
normal in red; which means no answer in the thread.  And I pick one from
my interest, or hitting p to move.  In any case, it is worth to read all
of them. :-) Next, I try to understand and/or to reproduce.  Three
cases:

 a) lacking info so reply for asking more details
 b) appear to me not-a-bug anymore so ask for status
 c) real bug so report/update what I did

In addition, I have an Org-mode to track what I open and then remind me
3 weeks later in my agenda.  If no answer, I mark it as moreinfo with
’M-x debbugs-gnu-send-control-message’ (C).  Otherwise I add an item to
my TODO list to work on it if I feel enough annoyed.  Time to time, when
I attend to boring meeting, I review all the moreinfo and close some if
they are too old, ask again if I am not confident.


Reading the bugs via Debbugs, I do ‘M-x org-capture’ (C-ctth blabla C-c
C-c) then stash the link of the bug ’M-x my/guix-issue’ and start the
reply ’M-x gnus-summary-wide-reply-with-original’ (R), edit, and ’M-x
message-send-and-exit’ (C-c C-c), assuming that Emacs is configured to
send email. :-)


Snippet of my config:

--8<---------------cut here---------------start------------->8---
  (define-key gnus-summary-mode-map "R" 'gnus-summary-wide-reply-with-original)
  (define-key gnus-article-mode-map "R" 'gnus-summary-wide-reply-with-original)

  (setq
   org-capture-templates
   (backquote
    (("t" "Todo")
     ("th" "Hunt" entry
      (file+headline "~/org/todo.org" "Bug Hunt")
      ,(my/org-templates-file "todo-bug.org"))
  org-capture-templates-contexts
  '(("th" ((in-mode . "gnus-summary-mode")))
    ("th" ((in-mode . "gnus-article-mode")))))
--8<---------------cut here---------------end--------------->8---

where the capture is:

--8<---------------cut here---------------start------------->8---
* TODO  [#C] Bug %?                                        :hunt:
  SCHEDULED:  %(org-insert-time-stamp (org-read-date nil t "+3w"))
  :LOGBOOK:
  CLOCK: %U--%U =>  0:00
  :OPEN: %U
  :END:
  :PROPERTIES:
  :Open: %U
  :Subject: %:subject
  :Date: %:date
  :MessageID: %:message-id
  :END:
--8<---------------cut here---------------end--------------->8---

and the helper is:

--8<---------------cut here---------------start------------->8---
(defmacro defun-bug->url (name url &optional docstring)
  "Macro returning yankage #bug URL.

The `interactive' function that the macro returns is then referred by NAME.

Please provide a DOCSTRING."
  (let ((fun (intern (symbol-name name)))
        (doc (concat docstring "\n\n"
                           (format "Yankable result: `%sNUMBER'." url))))
    `(defun ,fun (number)
       ,doc
        (interactive
         (list
          (progn
            (when (not (boundp 'debbugs-gnu-bug-number))
              (setq debbugs-gnu-bug-number -2))
            (read-string
             (format "Bug number (%s): " debbugs-gnu-bug-number)
             nil nil debbugs-gnu-bug-number))))
      (let ((str (format "%s%s" ,url number)))
        (kill-new str)
        (when current-prefix-arg
          (browse-url str))
        (message (format "%s killed." str))))))

(defun-bug->url my/guix-issues "http://issues.guix.gnu.org/issue/"
          "Add URL of bug NUMBER to `kill-ring'.")
(defun-bug->url my/guix-debbugs "https://debbugs.gnu.org/cgi/bugreport.cgi?bug="
          "Add (old) URL of bug NUMBER to `kill-ring'.")
--8<---------------cut here---------------end--------------->8---


Last, there is one point I do not like with the Emacs front-end of
Debbugs is that the network is required.  Well, I would prefer dump all
the mbox and work with Emacs+Notmuch but I have not yet configured that.
If someone has tip, please share. :-)

Or maybe fetch from issues.guix.gnu.org the Mumi maildir+mu database.

Hope that helps,
simon


  parent reply	other threads:[~2020-12-07  2:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-01 16:51 December 2020 (old) bugs squashing! zimoun
2020-12-05 15:26 ` Ludovic Courtès
2020-12-22 17:31   ` zimoun
2020-12-05 17:42 ` Bonface M. K.
2020-12-06  0:34   ` Ricardo Wurmus
2020-12-06 15:06     ` Bonface M. K.
2020-12-07  2:26   ` zimoun [this message]
2020-12-07 10:59     ` Bonface M. K.
2021-01-11  3:06 ` Maxim Cournoyer
2021-01-11 14:00   ` zimoun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86eek28i82.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=bonfacemunyoki@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).