]> git.cworth.org Git - notmuch-wiki/blobdiff - nmbug.mdwn
trailing spaces...
[notmuch-wiki] / nmbug.mdwn
index dd22a768b735993b214982a7c41147ae85ba7726..0630cb1a78dfaecc6c54ec718c282af08c5ae469 100644 (file)
@@ -1,28 +1,65 @@
 # Experimental Tag Sharing / Pseudo-Bug-Tracking for/with notmuch
 
-## getting set up
+## Getting set up
 
-1. The current set of patches against notmuch master is in branch nmbug, 
+1. Install and use notmuch version notmuch 0.9+23~g556c5fa or newer (enter notmuch --version to check your version)
 
-    git://pivot.cs.unb.ca/notmuch.git
+2. Get nmbug script using
 
-    Currently you need at least the version of notmuch in master, and
-    the script in contrib/nmbug.
+      git clone git://pivot.cs.unb.ca/notmuch.git notmuch-nmbug  
+      cd notmuch-nmbug  
+      git branch -b nmbug origin/nmbug  
+
+    The script is now available in contrib/nmbug
       
-2. The current tag repo is at
+3. 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
 
+    If you get failures then you need to update your git (as well).
 
-## Using nmbug
+## Using nmbug, simple example
 
-    # suck in the tags
-    $ nmbug checkout
+    # 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
 
+## 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/id1/patch
+     d   tags/id2/pushed     
+    
+    # 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.
 
@@ -45,6 +82,7 @@
     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::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.
 
+## Tracking the patch queue
+
+I 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 
+
+    tag:notmuch::reviewed and not tag:notmuch::pushed
+    
+    
 ## Design notes
 
 ### Disk format.
@@ -70,7 +122,7 @@ them, the tree looks something like
     tags/87aa8j7hqu.fsf@zancas.localnet/patch
     tags/87aa8j7hqu.fsf@zancas.localnet/pushed
 
-The `%25` represents hex code for a character that cannut be used directly
+The `%25` represents hex code for a character that cannot be used directly
 (in this case %, only because it is needed as an escape).
 
 ### Assumptions