1 # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch
5 1. Install and use notmuch version notmuch 0.9+23~g556c5fa or newer (enter notmuch --version to check your version)
7 2. Get nmbug script using
9 git clone git://pivot.cs.unb.ca/notmuch.git notmuch-nmbug
11 git branch -b nmbug origin/nmbug
13 The script is now available in contrib/nmbug
15 3. The current tag repo can be obtained by
17 git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
19 Check that your git is recent enough by entering
21 git --git-dir=$HOME/.nmbug fetch
23 If you get failures then you need to update your git (as well).
25 ## Using nmbug, simple example
27 # get the latest version of the tags
30 # do some tagging; see below for conventions
32 $ notmuch tag +notmuch::patch $id
34 # write the tag changes from the notmuch database
37 ## Using nmbug, doing the same thing with more steps
39 # get the latest version of the tags
42 # Optionally inspect the fetched changes
48 # merge the fetched tags into notmuch
51 # observe status is clear now,
54 # make the tag changes
55 $ notmuch tag +notmuch::patch id
57 # double check your changes
61 # write the tag changes
66 For the moment, we are using a central repo, hosted at
68 git@pivot.cs.unb.ca:pub/nmbug
70 To get push access, send your public key (ideally in a gpg signed
71 email) to David Bremner. There is a convenience command
75 But you will have to change your url with
77 git remote origin set-url git@pivot.cs.unb.ca:pub/nmbug
79 ## Tagging conventions
81 notmuch::bug is a bug report
82 notmuch::emacs is a patch/bug for the emacs UI
83 notmuch::feature provides a new feature
84 notmuch::fix fixes a bug
85 notmuch::moreinfo waiting for feedback from patch proposer or others
86 notmuch::obsolete replaced by some other patch
88 notmuch::portability improves portability
89 notmuch::pushed is pushed to master
90 notmuch::review is a review
91 notmuch::reviewed has been (well) reviewed
92 notmuch::test provides a new test/or improves testing
93 notmuch::wip is "work in progress", posted for review or comment.
95 ## Tracking the patch queue
97 I use the following search (in my case as a saved search in emacs).
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
103 Another interesting search is
105 tag:notmuch::reviewed and not tag:notmuch::pushed
112 The tags are stored in a bare-repo, which means they are not obviously
113 visible. There is an `nmbug archive` command analogous to `git
114 archive` Tags are represented as empty files in the tree; if you extra
115 them, the tree looks something like
118 tags/878waiwi0f.wl%25james@hackervisions.org/
119 tags/878waiwi0f.wl%25james@hackervisions.org/emacs
120 tags/878waiwi0f.wl%25james@hackervisions.org/patch
121 tags/87aa8j7hqu.fsf@zancas.localnet/
122 tags/87aa8j7hqu.fsf@zancas.localnet/patch
123 tags/87aa8j7hqu.fsf@zancas.localnet/pushed
125 The `%25` represents hex code for a character that cannot be used directly
126 (in this case %, only because it is needed as an escape).
130 - Currently the parser of nmbug (like that of notmuch restore) assumes
131 that there are no spaces in message-ids.