X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=nmbug.mdwn;h=2b217cc115fe9ab3e3929124ab37349aae28fd47;hb=f760d9c3671f054afc10ff4fbba5fab413613982;hp=3a41aa29ab000841075cd496aabd650f160cba55;hpb=579c19e753e201466c72dc1ae38f582dd0023dbb;p=notmuch-wiki diff --git a/nmbug.mdwn b/nmbug.mdwn index 3a41aa2..2b217cc 100644 --- a/nmbug.mdwn +++ b/nmbug.mdwn @@ -6,23 +6,51 @@ git://pivot.cs.unb.ca/notmuch.git - - you want the script contrib/nmbug, but you need the bleeding edge version - of notmuch as well. + Currently you need at least the version of notmuch in master, and + the script in contrib/nmbug. 2. The current tag repo is at - git clone git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug + git clone --bare git://pivot.cs.unb.ca/nmbug.git $HOME/.nmbug +## Using nmbug, simple example -## Using nmbug + # get the latest version of the tags + $ nmbug pull - # suck in the tags - $ nmbug restore - - [ 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 $ 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 checkout your changes + $ nmbug status + A tags/id/patch + + # write the tag changes + $ nmbug commit ## Submitting tags. @@ -57,23 +85,26 @@ ### Disk format. -The on-disk format is a set of files $HOME/.nmbug/tags/$SHA1, where -$SHA1 is the hash of the message-id. This is mainly a simple way to -avoid problems with strange message-ids. Each file has the 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 - msg-id: $id - tag: - tag: - [...] - -The motivation is to make merges easier, relative to the notmuch dump -format. The msg-id: and tag: headers are not really needed, but it -does make the format extensible. + + tags/878waiwi0f.wl%25james@hackervisions.org/ + tags/878waiwi0f.wl%25james@hackervisions.org/emacs + tags/878waiwi0f.wl%25james@hackervisions.org/patch + tags/87aa8j7hqu.fsf@zancas.localnet/ + tags/87aa8j7hqu.fsf@zancas.localnet/patch + tags/87aa8j7hqu.fsf@zancas.localnet/pushed + +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 - Currently the parser of nmbug (like that of notmuch restore) assumes - that there are no spaces message-ids. + that there are no spaces in message-ids.