]> git.cworth.org Git - notmuch-wiki/blob - nmbug.mdwn
Add new page describing experimental tag sharing setup
[notmuch-wiki] / nmbug.mdwn
1 # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch
2
3 ## getting set up
4
5 1. The current set of patches against notmuch master is in branch nmbug, 
6
7     git://pivot.cs.unb.ca/notmuch.git
8
9     - you want the script contrib/nmbug, but you need the bleeding edge version 
10       of notmuch as well.
11       
12 2. The current tag repo is at
13
14     git clone git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
15
16
17 ## Using nmbug
18
19     # suck in the tags
20     $ nmbug restore
21
22     [ do some tagging; see below for conventions ]
23     
24     $ nmbug commit
25
26
27 ## Submitting tags.
28
29    For the moment, we are using a central repo, hosted at
30     
31         git@pivot.cs.unb.ca:pub/nmbug
32         
33    To get push access, send your public key (ideally in a gpg signed
34    email) to David Bremner.  There is a convenience command
35    
36        nmbug push
37        
38    But you will have to change your url with
39    
40        git remote origin set-url git@pivot.cs.unb.ca:pub/nmbug
41
42 ## Tagging conventions
43
44     notmuch::bug                is a bug report
45     notmuch::emacs              is a patch/bug for the emacs UI
46     notmuch::feature            provides a new feature
47     notmuch::fix                fixes a bug
48     notmuch::obsolete           replaced by some other patch
49     notmuch::patch           
50     notmuch::portability        improves portability
51     notmuch::pushed             is pushed to master
52     notmuch::review             is a review
53     notmuch::reviewed           has been (well) reviewed
54     notmuch::test               provides a new test/or improves testing
55
56 ## Design notes
57
58 ### Disk format.
59
60 The on-disk format is a set of files $HOME/.nmbug/tags/$SHA1, where
61 $SHA1 is the hash of the message-id. This is mainly a simple way to
62 avoid problems with strange message-ids. Each file has the format
63
64     msg-id: $id
65     tag: <tag>
66     tag: <tag>
67     [...]
68     
69 The motivation is to make merges easier, relative to the notmuch dump
70 format.  The msg-id: and tag: headers are not really needed, but it
71 does make the format extensible.
72
73 ### Assumptions
74
75 - Currently the parser of nmbug (like that of notmuch restore) assumes 
76   that there are no spaces message-ids.
77     
78     
79     
80