X-Git-Url: https://git.cworth.org/git?p=notmuch-wiki;a=blobdiff_plain;f=nmbug.mdwn;h=7d544044033a685132f1be9694a3affc1f51c30b;hp=6bc04c863882a74bf56f9aa3d358507d9f6a8f19;hb=HEAD;hpb=e5c004916ff69ea08403dffe5ee50f5cafe1b0e8 diff --git a/nmbug.mdwn b/nmbug.mdwn index 6bc04c8..7d54404 100644 --- a/nmbug.mdwn +++ b/nmbug.mdwn @@ -1,24 +1,38 @@ +[[!img notmuch-logo.png alt="Notmuch logo" class="left"]] # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch ## Web View -There is a dump of (some views of) the nmbug [[status|http://nmbug.tethera.net/status]]. +There is a dump of (some views of) the nmbug [[status|https://nmbug.notmuchmail.org/status]]. ## Getting started -1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer. +0. Make sure that the whole [notmuch@notmuchmail.org mailing list + archive][archive] is available in your email database. - The nmbug script is available in `contrib/nmbug`. + If you are missing messages which are tagged in the nmbug + repository, `nmbug status` will complain with U-prefixed lines and + you will have to jump through some hoops to create commits that + alter tags for those messages. Most other nmbug operation will be + unaffected. -2. The current tag repo can be obtained by: +1. Install and use nmbug from notmuch version **0.19** or newer, and + either Python 2.7 or anything from the 3.x line. - `$ git clone --bare http://nmbug.tethera.net/git/nmbug-tags.git $HOME/.nmbug` + The nmbug script is available in [devel/nmbug][nmbug]. - Check that your git is recent enough by entering: +2. Make sure your `git version` is **1.7.4** or newer. - `$ git --git-dir=$HOME/.nmbug fetch` +3. Enter the following command to obtain the current tag repository: - If you get failures then you need to update your git (as well). + `$ nmbug clone https://nmbug.notmuchmail.org/git/nmbug-tags.git` + +4. Clobber your local `notmuch::…` tag namespace with: + + `$ nmbug checkout` + + Without this, `nmbug status` will list all of the upstream tags as + deleted (with the D prefix). ## Using nmbug, simple example @@ -62,16 +76,16 @@ There is a dump of (some views of) the nmbug [[status|http://nmbug.tethera.net/s For the moment, we are using a central repo, hosted at: - nmbug@nmbug.tethera.net:nmbug-tags + nmbug@nmbug.notmuchmail.org: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: +But you will have to change your push URL with: - git --git-dir=$HOME/.nmbug remote set-url origin nmbug@nmbug.tethera.net:nmbug-tags + $ git --git-dir=$HOME/.nmbug remote set-url --push origin nmbug@nmbug.notmuchmail.org:nmbug-tags ## Tagging conventions @@ -84,7 +98,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. @@ -108,6 +123,13 @@ Sometimes the process stalls, and patches get tagged: 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 @@ -115,11 +137,14 @@ 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 @@ -141,7 +166,13 @@ search in emacs): You might or might not want as many exclusions. Another interesting search is: - tag:notmuch::reviewed and not tag:notmuch::pushed + tag:notmuch::patch and not tag:notmuch::needs-review and not \ + tag:notmuch::pushed and not tag:notmuch::obsolete and not \ + tag:notmuch::wontfix and not tag:notmuch::moreinfo and not \ + tag:notmuch::stale and not tag:notmuch::wip + +See the [[status|https://nmbug.notmuchmail.org/status]] page for more +example searches. ## Design notes @@ -149,8 +180,8 @@ search is: 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 @@ -166,3 +197,6 @@ The `%25` represents hex code for a character that cannot be used directly - Currently the parser of nmbug (like that of notmuch restore) assumes that there are no spaces in message-ids. + +[archive]: https://nmbug.notmuchmail.org/archive/notmuch-list.tar.xz +[nmbug]: https://git.notmuchmail.org/git/notmuch/blob/HEAD:/devel/nmbug/nmbug