X-Git-Url: https://git.cworth.org/git?p=obsolete%2Fnotmuch-wiki;a=blobdiff_plain;f=nmbug.mdwn;h=8f712d6d00d62d2908a90a2ad1606178cf7f649d;hp=f52bcbc23f93ed62d288c010282e1cc0e35dfb09;hb=HEAD;hpb=6d976adcf87f77b79d64914082368239a648e767 diff --git a/nmbug.mdwn b/nmbug.mdwn index f52bcbc..8f712d6 100644 --- a/nmbug.mdwn +++ b/nmbug.mdwn @@ -2,35 +2,29 @@ ## Web View -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]]. +There is a dump of (some views of) the nmbug [[status|http://nmbug.tethera.net/status]]. ## Getting started -1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer. +1. Install and use notmuch version **0.10** or newer and + perl module `Pod::Usage` (packaged as `perl-doc` in debian). The nmbug script is available in `contrib/nmbug`. - -2. The current tag repo can be obtained by: - `$ git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug` +2. Make sure your `git version` is **1.7.4** or newer. - Check that your git is recent enough by entering: +3. Enter the following command to obtain the current tag repository: - `$ git --git-dir=$HOME/.nmbug fetch` - - If you get failures then you need to update your git (as well). + `$ git clone --bare http://nmbug.tethera.net/git/nmbug-tags.git $HOME/.nmbug` ## Using nmbug, simple example # get the latest version of the tags $ nmbug pull - # do some tagging; see below for conventions + # do some tagging; see below for conventions $ notmuch tag +notmuch::patch $id - + # write the tag changes from the notmuch database $ nmbug commit @@ -41,13 +35,13 @@ It is generated by a # Optionally inspect the fetched changes - $ nmbug status + $ nmbug status a tags/id1/patch - d tags/id2/pushed - + d tags/id2/pushed + # merge the fetched tags into notmuch $ nmbug merge - + # observe status is clear now, $ nmbug status @@ -57,24 +51,24 @@ It is generated by a # double check your changes $ nmbug status A tags/id/patch - - # write the tag changes + + # write the tag changes $ nmbug commit ## Submitting tags For the moment, we are using a central repo, hosted at: - - git@pivot.cs.unb.ca:pub/nmbug - + + nmbug@nmbug.tethera.net:nmbug-tags + 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: - - 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 nmbug@nmbug.tethera.net:nmbug-tags ## Tagging conventions @@ -87,7 +81,8 @@ Initially any patch should be tagged: 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 also be tagged: notmuch::wip is "work in progress", posted for review or comment. @@ -101,42 +96,52 @@ unless they are tagged: 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 + 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 + notmuch::moreinfo waiting for feedback from patch proposer or others - + notmuch::stale The patch no longer applies to master (or in + rare cases, to release) + +Note that these tags typically apply to whole series of patches; it +doesn't usually make sense to apply patches later in the series before +earlier ones. So a patch may be tagged `moreinfo` or `stale` only +because a predecessor patch is. + ### 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 + notmuch::fixed indicates that the bug is fixed in the + master branch ### Optional tags These patches are more comments and suggestions. + notmuch::doc is a documentation patch notmuch::emacs is a patch/bug for the emacs UI notmuch::feature provides a new feature notmuch::fix fixes a bug notmuch::portability improves portability notmuch::review is a review notmuch::test provides a new test/or improves testing - notmuch::$n this patch should be considered for + notmuch::$n this patch should be considered for release $n ## Tracking the patch queue 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 and not tag:notmuch::contrib @@ -145,16 +150,18 @@ You might or might not want as many exclusions. Another interesting search is: tag:notmuch::reviewed and not tag:notmuch::pushed - - + +See the [[status|http://nmbug.tethera.net/status]] page for more +example searches. + ## Design notes ### 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: +archive` Tags are represented as empty files in the tree; if you +extract them, the tree looks something like: tags/878waiwi0f.wl%25james@hackervisions.org/ tags/878waiwi0f.wl%25james@hackervisions.org/emacs @@ -168,9 +175,5 @@ The `%25` represents hex code for a character that cannot be used directly ### Assumptions -- Currently the parser of nmbug (like that of notmuch restore) assumes +- Currently the parser of nmbug (like that of notmuch restore) assumes that there are no spaces in message-ids. - - - -