]> git.cworth.org Git - notmuch-wiki/blobdiff - nmbug.mdwn
nmbug: describe updated tagging conventions.
[notmuch-wiki] / nmbug.mdwn
index 43290b200f37a66cd107d2da9676da16be8915fb..6abefc99193147adf21e7f9f998a733ed310faab 100644 (file)
@@ -1,19 +1,29 @@
 # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch
 
-## getting set up
+## Web View
 
-1. The current set of patches against notmuch master is in branch nmbug, 
+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]].
 
-    git://pivot.cs.unb.ca/notmuch.git
+## Getting set up
 
-    Currently you need at least the version of notmuch in master, and
-    the script in contrib/nmbug.
+1. Install and use notmuch version notmuch 0.9+63~gebd1adc or newer.
+
+   The nmbug script is available in contrib/nmbug
       
-2. The current tag repo is at
+2. The current tag repo can be obtained by
+
+      git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
+
+    Check that your git is recent enough by entering
 
-    git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug
+      git --git-dir=$HOME/.nmbug fetch
 
-## Using nmbug
+    If you get failures then you need to update your git (as well).
+
+## Using nmbug, simple example
 
     # get the latest version of the tags
     $ nmbug pull
     
     $ notmuch tag +notmuch::patch $id
     
-    # optionally inspect your changes
+    # write the tag changes from the notmuch database
+    $ nmbug commit
+
+## Using nmbug, doing the same thing with more steps
+
+    # get the latest version of the tags
+    $ nmbug fetch
+
+    # Optionally inspect the fetched changes
+
     $ nmbug status      
-    A   tags/$id/patch
+     a   tags/id1/patch
+     d   tags/id2/pushed     
     
-    # write the tag changes from the notmuch
-    $ nmbug commit
+    # merge the fetched tags into notmuch
+    $ nmbug merge
+    
+    # observe status is clear now,
+    $ nmbug status
+
+    # make the tag changes
+    $ notmuch tag +notmuch::patch id
+
+    # double check your changes
+    $ nmbug status
+    A tags/id/patch
     
+    # write the tag changes 
+    $ nmbug commit
+
 ## Submitting tags.
 
    For the moment, we are using a central repo, hosted at
        
    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
+
+Intially 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::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::$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
+
+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.