On Sat, 29 Oct 2011 13:45:06 -0300, David Bremner <david@tethera.net> wrote: > OK, here is my rough and ready attempt at tag sharing. I figure we > can smooth out the rough edges if/when we agree on a set of tags and > preferably on an on-disk format. Great! Thank you so much for working on this, David. This is very exciting work. Comments below. > How to play? > > - - Apply all the patches in this thread (starting > id:"1319383133-11006-1-git-send-email-david@tethera.net") These patches did not apply cleanly for me from the list. I was able to get them from bremner's "nmbug" branch [0], though. [0] git://pivot.cs.unb.ca/git/notmuch > $ nmbug dump > $ cd $HOME/.nmbug && git add tags && git commit This last command seems to be included in nmbug as "commit". Fwiw, I don't like having to do two separate operations for dump and commit. Could they be merged into a single operation? > now you have to get the changes into the "master" repo. I think > hosting this on git.notmuchmail.org in a seperate repo will make > sense, but for now, if you want to participate in the experiment, send > me your public key (ideally in a gpg signed mail, but if not, oh well), > and you can push to my repo at > > git@pivot.cs.unb.ca:pub/nmbug While I think having a central shared tag repo is ok to get started, I would really like to see this work in a distributed way. I don't think it's impossible to extend this model you have here to work in a distributed way, though, so that will be something good to work on down the line. > Probably the most crucial thing is that we agree on some set of tags. > Here is the set of tags I am working with (output from > notmuch search --output=tags "*" | grep ^notmuch:: > ) > > notmuch::bug is a bug report > 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 > > The prefix "notmuch::" is hardcoded into the script, but everything > else is easy to change with the usual notmuch operations. Of course > we can change the prefix too. I decided on :: because it needed less > escaping. I think these are a fine set to start with. It might be nice to let the user configure what prefix they use (ie. what goes before the "::" (currently "notmuch")). Does this system support the removing of tags? I guess I need to see the documentation for the restore --match option... It's too bad there's not a way to do scoped tag searches in notmuch (ie. notmuch search tag:"notmuch::*"). Any idea how hard it would be to support something like that? > On think I'm not sure about is how to handle ideas like "voting", and > "signing off" with tags. I suspect we can come up with some > conventions like "notmuch::review1", or > "notmuch::vote1".."notmuch::vote5". But maybe people have less kludgy > ideas. What issue are you trying to solve here? Whatever it is, I don't think I like enumerating tags as the solution. Again, thanks so much for working on this, David. This is going to be very cool. I really look forward to fleshing it out, and using it! jamie.