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.
10 1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer.
12 The nmbug script is available in contrib/nmbug
14 2. The current tag repo can be obtained by
16 git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
18 Check that your git is recent enough by entering
20 git --git-dir=$HOME/.nmbug fetch
22 If you get failures then you need to update your git (as well).
24 ## Using nmbug, simple example
26 # get the latest version of the tags
29 # do some tagging; see below for conventions
31 $ notmuch tag +notmuch::patch $id
33 # write the tag changes from the notmuch database
36 ## Using nmbug, doing the same thing with more steps
38 # get the latest version of the tags
41 # Optionally inspect the fetched changes
47 # merge the fetched tags into notmuch
50 # observe status is clear now,
53 # make the tag changes
54 $ notmuch tag +notmuch::patch id
56 # double check your changes
60 # write the tag changes
65 For the moment, we are using a central repo, hosted at
67 git@pivot.cs.unb.ca:pub/nmbug
69 To get push access, send your public key (ideally in a gpg signed
70 email) to David Bremner. There is a convenience command
74 But you will have to change your url with
76 git --git-dir=$HOME/.nmbug remote set-url origin git@pivot.cs.unb.ca:pub/nmbug
78 ## Tagging conventions
80 notmuch::bug is a bug report
81 notmuch::emacs is a patch/bug for the emacs UI
82 notmuch::feature provides a new feature
83 notmuch::fix fixes a bug
84 notmuch::moreinfo waiting for feedback from patch proposer or others
85 notmuch::obsolete replaced by some other patch
87 notmuch::portability improves portability
88 notmuch::pushed is pushed to master
89 notmuch::review is a review
90 notmuch::reviewed has been (well) reviewed
91 notmuch::test provides a new test/or improves testing
92 notmuch::wip is "work in progress", posted for review or comment.
94 ## Tracking the patch queue
96 I (David Bremner) use the following search (in my case as a saved
99 tag:notmuch::patch and not tag:notmuch::pushed and \
100 not tag:notmuch::obsolete and not tag:notmuch::wip \
101 and not tag:notmuch::moreinfo and not tag:notmuch::contrib
103 You might or might not want as many exclusions. Another interesting
106 tag:notmuch::reviewed and not tag:notmuch::pushed
113 The tags are stored in a bare-repo, which means they are not obviously
114 visible. There is an `nmbug archive` command analogous to `git
115 archive` Tags are represented as empty files in the tree; if you extra
116 them, the tree looks something like
119 tags/878waiwi0f.wl%25james@hackervisions.org/
120 tags/878waiwi0f.wl%25james@hackervisions.org/emacs
121 tags/878waiwi0f.wl%25james@hackervisions.org/patch
122 tags/87aa8j7hqu.fsf@zancas.localnet/
123 tags/87aa8j7hqu.fsf@zancas.localnet/patch
124 tags/87aa8j7hqu.fsf@zancas.localnet/pushed
126 The `%25` represents hex code for a character that cannot be used directly
127 (in this case %, only because it is needed as an escape).
131 - Currently the parser of nmbug (like that of notmuch restore) assumes
132 that there are no spaces in message-ids.