1 # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch
5 There is a dump of (one view of) the nmbug [[status|nmbug/status]]. It is even more
6 experimental than everything else here, and currently manually updated.
8 [[python script|http://pivot.cs.unb.ca/git/?p=notmuch-scripts.git;a=blob_plain;f=scripts/nmbug-status.py]].
12 1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer.
14 The nmbug script is available in contrib/nmbug
16 2. The current tag repo can be obtained by
18 git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
20 Check that your git is recent enough by entering
22 git --git-dir=$HOME/.nmbug fetch
24 If you get failures then you need to update your git (as well).
26 ## Using nmbug, simple example
28 # get the latest version of the tags
31 # do some tagging; see below for conventions
33 $ notmuch tag +notmuch::patch $id
35 # write the tag changes from the notmuch database
38 ## Using nmbug, doing the same thing with more steps
40 # get the latest version of the tags
43 # Optionally inspect the fetched changes
49 # merge the fetched tags into notmuch
52 # observe status is clear now,
55 # make the tag changes
56 $ notmuch tag +notmuch::patch id
58 # double check your changes
62 # write the tag changes
67 For the moment, we are using a central repo, hosted at
69 git@pivot.cs.unb.ca:pub/nmbug
71 To get push access, send your public key (ideally in a gpg signed
72 email) to David Bremner. There is a convenience command
76 But you will have to change your url with
78 git --git-dir=$HOME/.nmbug remote set-url origin git@pivot.cs.unb.ca:pub/nmbug
80 ## Tagging conventions
82 Note that the tag database is probably catching up to these
85 ### Main patch tracking tags
87 Intially any patch should be tagged
91 Patches that are for discussion, rather than proposed for master should be tagged
93 notmuch::wip is "work in progress", posted for review or comment.
95 Most patches will be initially tagged
97 notmuch::needs-review needs some (more) review
101 notmuch::trivial looks harmless
103 Patches keep `notmuch::needs-review` until they either get enough
104 reviews, or one of the following resolutions is reached
106 notmuch::obsolete replaced by some other patch
107 notmuch::pushed is pushed to master
108 notmuch::wontfix for whatever reason, this patch will not
111 Sometimes the process stalls, and patches get tagged
113 notmuch::moreinfo waiting for feedback from patch proposer
118 So far we are just tagging certain messages as bug reports, meaning
119 things that "everyone" agrees should be fixed.
121 notmuch::bug is a bug report
125 These patches are more comments and suggestions.
127 notmuch::emacs is a patch/bug for the emacs UI
128 notmuch::feature provides a new feature
129 notmuch::fix fixes a bug
130 notmuch::portability improves portability
131 notmuch::review is a review
132 notmuch::test provides a new test/or improves testing
133 notmuch::$n this patch should be considered for
136 ## TRACKING the patch queue
138 I (David Bremner) use the following search (in my case as a saved
141 tag:notmuch::patch and not tag:notmuch::pushed and \
142 not tag:notmuch::obsolete and not tag:notmuch::wip \
143 and not tag:notmuch::moreinfo and not tag:notmuch::contrib
145 You might or might not want as many exclusions. Another interesting
148 tag:notmuch::reviewed and not tag:notmuch::pushed
155 The tags are stored in a bare-repo, which means they are not obviously
156 visible. There is an `nmbug archive` command analogous to `git
157 archive` Tags are represented as empty files in the tree; if you extra
158 them, the tree looks something like
161 tags/878waiwi0f.wl%25james@hackervisions.org/
162 tags/878waiwi0f.wl%25james@hackervisions.org/emacs
163 tags/878waiwi0f.wl%25james@hackervisions.org/patch
164 tags/87aa8j7hqu.fsf@zancas.localnet/
165 tags/87aa8j7hqu.fsf@zancas.localnet/patch
166 tags/87aa8j7hqu.fsf@zancas.localnet/pushed
168 The `%25` represents hex code for a character that cannot be used directly
169 (in this case %, only because it is needed as an escape).
173 - Currently the parser of nmbug (like that of notmuch restore) assumes
174 that there are no spaces in message-ids.