bug tracking

Jesse Rosenthal jrosenthal at jhu.edu
Mon May 3 12:32:09 PDT 2010


On Mon, 03 May 2010 12:06:04 -0700, Carl Worth <cworth at cworth.org> wrote:
> But I *am* tracking things. The only real problems are:
> 
>   1. People don't have visibility into my tracking efforts
> 
>   2. We can't collaborate on the tracking efforts.
> 
> So I think the various tag-sharing prototypes being worked on right now
> are extremely interesting.

Well, this is as good a time to make an announcement as any. I have a
prototype, nm-remote, in its early stages available here:

git clone http://jkr.acm.jhu.edu/git/nm-remote.git

It requires the notmuch python bindings. You should be able to just run
it from its directory.

Right now, nm-remote has 4 subcommands: `add', `push', `pull',
`history'.

1) `nm-remote add --(src|dest) <name> <path>':

"name" is the namespace you give to a certain source (for pulling) or
destination (for pushing). The path can either be a file path or, for
pulling, a http url.

Note that this alters ~/.notmuch-config. It will write a backup of your
original file, just in case.

2) `nm-remote push <name>', `nm-remote push <name> <file>'

This will push all tags under the "name" namespace to the file you have
set in you have set in your config file by `add --dest' (or by hand). If
you specify the file here, it will not check the config file.

The tags it writes to the file will be all those under the namespace
"name". So if Carl keeps some tags under "public.bug", "public.queue",
etc, it will write those to a file, without the namespace.

The file format will keep track of bugs both added and removed for
message ids, the time they were added, and by whom. See here for an
example: http://jkr.acm.jhu.edu/practice.tags

I'd like to add the ability to push over ssh.

3) `nm-remote pull <name>', `nm-remote pull <name> <path>'

This will pull from the "name" you have set in your config file by `add
--src' (or by hand). Whatever name you set will be the namespace for the
tags. So, if you've named the public tags that Carl pushed above
"cworth", they will show up as "cworth.bug", "cworth.queued", etc.

If you've explicitly specified the path, it won't check your config
file. Note, though, that pulling from different files to the same
namespace could have strange results. Best to keep it consistent for
now.

NOTE: pull opens your notmuch db up for writing. Make sure to dump first.

Note also that the numbers that it announces of how many tags have been
added or removed are not exactly accurate at the moment. This has no
effect on operation.

I'd like to add the ability to pull over ssh.

4) `nm-remote history <name> <msg-id>'

I just added this. "name" has to be a pulling source. So, if I have set
up Carl's public tags as my "cworth" name-space, typing 
`nm-remote history cworth <msg-id>' should give me all the changes to
the tag.

PLEASE NOTE: This is just a prototype, based on some discussions with
David B. and a bit of playing around online. I'd expect the commands and
the file format to change. Ideally, once we get it straightened out, the
functionality could be rewritten in C down the line and included in
"notmuch" under the "remote" command. If you're interested, I'd be happy
to chat about my further ideas for it in this thread, or over IRC.

All best,
Jesse







More information about the notmuch mailing list