On Sat, Oct 29, 2011 at 01:45:07PM -0300, David Bremner wrote: >From: David Bremner <bremner@debian.org> > >In this initial version, we take care of only the base import and >export of the appropriate tags in line oriented format amenable to >easy merging. > >The current plan to use git to share tags and resolve conflicts. >--- > contrib/nmbug | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 69 insertions(+), 0 deletions(-) > create mode 100755 contrib/nmbug > >diff --git a/contrib/nmbug b/contrib/nmbug >new file mode 100755 >index 0000000..e9d1b14 >--- /dev/null >+++ b/contrib/nmbug >@@ -0,0 +1,69 @@ >+#!/bin/bash ^^ I'd make that: #!/usr/bin/env bash for systems where bash is not the default shell. >+# Copyright (c) 2011 David Bremner >+# License: same as notmuch >+ >+NMHOME=${HOME}/.nmbug >+ >+NMTAGS=($(notmuch search --output=tags "*"|grep "^notmuch::")) >+ >+function dump() { >+ notmuch dump -- $(printf " tag:%s" ${NMTAGS[*]}) |\ >+ while read -r msgid rest >+ do >+ outfile=$NMHOME/tags/$(echo $msgid | sha1sum - | cut -f1 -d' ') >+ echo $outfile >+ printf "msg-id: %s\n" $msgid > $outfile >+ tmp=${rest#\(} >+ read -r -a tags <<<${tmp%\)}; >+ for tag in "${tags[@]}"; do >+ case $tag in >+ notmuch::*) >+ echo "tag: $tag" >> $outfile >+ ;; >+ *) >+ # nothing >+ esac >+ done >+ done >+ >+} >+ >+function cat_file() { >+ tags="" >+ id="" >+ cat $1 |\ >+ while read -r what data >+ do >+ case $what in >+ msg-id:) >+ printf "%s (" $data >+ ;; >+ tag:) >+ printf "%s " $data >+ ;; >+ *) >+ echo "Syntax error $what" >+ exit 1 >+ esac >+ done >+ echo ")" >+} >+ >+function restore() { >+ find $NMHOME/tags -type f |\ >+ while read -r filename >+ do >+ cat_file $filename >+ done | notmuch restore --match=notmuch:: >+} >+case $1 in >+ dump) >+ dump >+ ;; >+ restore) >+ restore >+ ;; >+ *) >+ echo unknown command $1; >+esac >+ >-- >1.7.6.3 > >_______________________________________________ >notmuch mailing list >notmuch@notmuchmail.org >http://notmuchmail.org/mailman/listinfo/notmuch