X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=nmbug.mdwn;h=999b781e0c63bfb993e1cd3ecb10c853a7498c33;hb=73be4fe07c5a3d57bc441115383cea0dcd49921f;hp=0630cb1a78dfaecc6c54ec718c282af08c5ae469;hpb=df8e03c7c1da68fa393378671d58fd2f7a9393c3;p=notmuch-wiki diff --git a/nmbug.mdwn b/nmbug.mdwn index 0630cb1..999b781 100644 --- a/nmbug.mdwn +++ b/nmbug.mdwn @@ -1,26 +1,27 @@ # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch -## Getting set up +## Web View -1. Install and use notmuch version notmuch 0.9+23~g556c5fa or newer (enter notmuch --version to check your version) +There is a dump of (one view of) the nmbug [[status|nmbug/status]]. It is even more +experimental than everything else here, and currently manually updated. +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]]. -2. Get nmbug script using +## Getting started - git clone git://pivot.cs.unb.ca/notmuch.git notmuch-nmbug - cd notmuch-nmbug - git branch -b nmbug origin/nmbug +1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer. - The script is now available in contrib/nmbug + The nmbug script is available in `contrib/nmbug`. -3. 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 @@ -28,7 +29,6 @@ $ nmbug pull # do some tagging; see below for conventions - $ notmuch tag +notmuch::patch $id # write the tag changes from the notmuch database @@ -61,59 +61,100 @@ # 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 remote origin set-url 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._ + +### Main patch tracking tags + +Initially any patch should be tagged: + + notmuch::patch + +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: + + notmuch::needs-review needs some (more) review + +unless the 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: + + 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: + + notmuch::moreinfo waiting for feedback from patch proposer + or others + +### Bug tracking tag + +So far we are just tagging certain messages as bug reports, meaning +things that "everyone" agrees should be fixed. + notmuch::bug is a bug report + +### Optional tags + +These patches are more comments and suggestions. + notmuch::emacs is a patch/bug for the emacs UI notmuch::feature provides a new feature notmuch::fix fixes a bug - notmuch::moreinfo waiting for feedback from patch proposer or others - notmuch::obsolete replaced by some other patch - notmuch::patch notmuch::portability improves portability - notmuch::pushed is pushed to master notmuch::review is a review - notmuch::reviewed has been (well) reviewed notmuch::test provides a new test/or improves testing - notmuch::wip is "work in progress", posted for review or comment. + notmuch::$n this patch should be considered for + release $n ## Tracking the patch queue -I use the following search (in my case as a saved search in emacs). +I (David Bremner) use the following search (in my case as a saved +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 - -Another interesting search is + and not tag:notmuch::moreinfo and not tag:notmuch::contrib + +You might or might not want as many exclusions. Another interesting +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