It is generated by a
[[python script|http://pivot.cs.unb.ca/git/?p=notmuch-scripts.git;a=blob_plain;f=scripts/nmbug-status.py]].
-## Getting set up
+## Getting started
1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer.
- The nmbug script is available in contrib/nmbug
+ The nmbug script is available in `contrib/nmbug`.
-2. The current tag repo can be obtained by
+2. The current tag repo can be obtained by:
- git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
+ `$ git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug`
- Check that your git is recent enough by entering
+ Check that your git is recent enough by entering:
- git --git-dir=$HOME/.nmbug fetch
+ `$ git --git-dir=$HOME/.nmbug fetch`
- If you get failures then you need to update your git (as well).
+ If you get failures then you need to update your git (as well).
## Using nmbug, simple example
$ nmbug pull
# do some tagging; see below for conventions
-
$ notmuch tag +notmuch::patch $id
# write the tag changes from the notmuch database
# write the tag changes
$ nmbug commit
-## Submitting tags.
+## Submitting tags
- For the moment, we are using a central repo, hosted at
+For the moment, we are using a central repo, hosted at:
- git@pivot.cs.unb.ca:pub/nmbug
+ git@pivot.cs.unb.ca:pub/nmbug
- To get push access, send your public key (ideally in a gpg signed
- email) to David Bremner. There is a convenience command
+To get push access, send your public key (ideally in a gpg signed
+email) to David Bremner. There is a convenience command:
- nmbug push
+ nmbug push
- But you will have to change your url with
+But you will have to change your url with:
- git --git-dir=$HOME/.nmbug remote set-url origin git@pivot.cs.unb.ca:pub/nmbug
+ git --git-dir=$HOME/.nmbug remote set-url origin git@pivot.cs.unb.ca:pub/nmbug
## Tagging conventions
-Note that the tag database is probably catching up to these
-conventions.
+_Note that the tag database is probably catching up to these
+conventions._
### Main patch tracking tags
-Intially any patch should be tagged
+Initially any patch should be tagged:
- notmuch::patch
+ notmuch::patch
-Patches that are for discussion, rather than proposed for master should be tagged
+Patches that are for discussion, rather than proposed for master should be tagged:
notmuch::wip is "work in progress", posted for review or comment.
-Most patches will be initially tagged
+Most patches will be initially tagged:
notmuch::needs-review needs some (more) review
-unless the are tagged
+unless they are tagged:
notmuch::trivial looks harmless
Patches keep `notmuch::needs-review` until they either get enough
-reviews, or one of the following resolutions is reached
+reviews, or one of the following resolutions is reached:
notmuch::obsolete replaced by some other patch
notmuch::pushed is pushed to master
notmuch::wontfix for whatever reason, this patch will not
be applied
-Sometimes the process stalls, and patches get tagged
+Sometimes the process stalls, and patches get tagged:
notmuch::moreinfo waiting for feedback from patch proposer
or others
notmuch::$n this patch should be considered for
release $n
-## TRACKING the patch queue
+## Tracking the patch queue
I (David Bremner) use the following search (in my case as a saved
-search in emacs).
+search in emacs):
tag:notmuch::patch and not tag:notmuch::pushed and \
not tag:notmuch::obsolete and not tag:notmuch::wip \
and not tag:notmuch::moreinfo and not tag:notmuch::contrib
You might or might not want as many exclusions. Another interesting
-search is
+search is:
tag:notmuch::reviewed and not tag:notmuch::pushed
## Design notes
-### Disk format.
+### Disk format
The tags are stored in a bare-repo, which means they are not obviously
visible. There is an `nmbug archive` command analogous to `git
archive` Tags are represented as empty files in the tree; if you extra
-them, the tree looks something like
-
+them, the tree looks something like:
tags/878waiwi0f.wl%25james@hackervisions.org/
tags/878waiwi0f.wl%25james@hackervisions.org/emacs