On Sat, Oct 29, 2011 at 01:45:07PM -0300, David Bremner wrote:
>From: David Bremner <bremner at 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 at notmuchmail.org
>http://notmuchmail.org/mailman/listinfo/notmuch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: 
<http://notmuchmail.org/pipermail/notmuch/attachments/20111030/61611679/attachment.pgp>

Reply via email to