65b620666e7ecf9004f2e4f28f31c783e2220608
[homepage.git] / blog / posts / 2008 / 01 / bts_followup.mdwn
1 New bts command: followup
2 ====
3
4 In Debian I'm pretty sure we have many perfectionists. Sadly, I'm one of them: I
5 can't help loosing lots of time fixing silly things totally useless with respect
6 to a more important task which is waiting to be completed.
7
8 An example? Following up on <acronym title="Bug Tracking
9 System">[BTS](http://bugs.debian.org)</acronym> bugs.
10
11 If I have the original bug report in my mailbox that's easy, I just hit `r` on
12 mutt and reply as usual (ok, I will still loose some time getting rid of
13 unneeded quoted text, but that's not too much).
14
15 If I don't have it ... tragedy! I then *have to* open the bug log in the browser
16 and compose from scratch a new mail including several information which I *have
17 to* manually grab from the bug log web page:
18
19 * proper **recipients** (usually one or more of
20 `xxxxxx{-submitter,-done,-forwarded,}@bugs.debian.org`)
21 * proper headers:
22   * a **`Subject`** starting with `Re:` and then continuing with the original
23   subject
24   * a **`In-Reply-To`** header containing the original `Message-Id` (can I dare
25   breaking threading, of course not!)
26 * proper body:
27   * which should start with a **`On ... Random J Developer wrote:`** ...
28   * ... and continue with the **quoted text** of the original bug report
29
30 <small>(Yeah, I know, it *looks* like I'm hopeless, but I'm confident some of
31 the people reading do actually share this and similar dramas.)</small>
32
33 Missing (or maybe overlooking) a tool helping me out on this, I've patched
34 [[debpkg devscripts]]'s [`bts`](http://man.cx/bts) to automate the above steps.
35 Now I can do:
36
37     bts followup 430986
38
39 to end up in a `mutt` mail composing session with proper (according to the
40 definition of "proper" above) recipients, headers, and quoted text:
41
42     From: Stefano Zacchiroli <zack@debian.org>
43     To: 430986@bugs.debian.org, 430986-submitter@bugs.debian.org
44     Cc: 
45     Bcc: 
46     Subject: Re: when reporting bugs by maintainer, please include Uploaders
47     Reply-To: 
48     In-Reply-To: <20070628174236.13848.57178.reportbug@aquarium.takhisis.invalid>
49
50     On Thu, 28 Jun 2007 19:42:36 +0200, Stefano Zacchiroli wrote:
51     > Package: bugs.debian.org
52     > Severity: wishlist
53     > 
54     > Browsing bugs by maintainer (and with this I mean something like
55     > http://bugs.debian.org/cgi-bin/pkgreport.cgi?maint=zack@debian.org, or
56     > it shorter form http://bugs.debian.org/zack@debian.org) used to be
57     > terribly useful as a TODO list. Using that I used to have a simple entry
58     > point for knowing what I have to do "for Debian" regarding my packages.
59     > 
60     > This usefulness has diminished a lot with the spreading of team
61     > maintenance. To know all bugs that apply to me indeed I know have to
62     > repeat browse by maintainer for each team I'm a member of.
63     > 
64     > It would be terribly useful to include bugs which apply to packages in
65     > which I'm mentioned as an Uploader in the report by maintainer pages.
66     <snip>
67
68 Now I just need to actually perform the original task, the problem now being
69 that in the meantime I've forgotten what was it about ...
70
71 ----
72
73 Try it out:
74
75 * [[bts]] with super `followup` powers
76 * the [[patch|followup.patch]] which adds super `followup` powers to `bts` of
77 devscripts version 2.10.13
78
79 Comments?  
80 Anyone else find this useful? If so I can just go ahead and commit it to
81 [[debpkg devscripts]] mainline ...
82
83 ----
84
85 **Update**: some changes to the code, thanks to Adam Barrat for the feedback.  
86 Changelog:
87
88 * safer handling of RFC822 line continuation
89 * instead of always mailing -submitter, mail the author of the message we are
90 replying to (the bug report is always on Cc though)
91 * bug message number is now 1-based, following the convention of the BTS
92 `get_bug_log` method
93 * add the possibility to specify "last" (and even "last-1" and so on) for
94 pointing to messages in the bug log starting from log bottom
95
96 [[tag planet/debian debian devscripts lang/english hack]]