--- /dev/null
+Return-Path: <edward@4angle.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 1F67D431FBF\r
+ for <notmuch@notmuchmail.org>; Wed, 12 Nov 2014 14:14:21 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id DcnNd+wn+8tm for <notmuch@notmuchmail.org>;\r
+ Wed, 12 Nov 2014 14:14:12 -0800 (PST)\r
+X-Greylist: delayed 2218 seconds by postgrey-1.32 at olra;\r
+ Wed, 12 Nov 2014 14:14:12 PST\r
+Received: from 4angle.com (4angle.com [82.145.46.9])\r
+ (using TLSv1 with cipher AES128-SHA (128/128 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id D0E97431FAF\r
+ for <notmuch@notmuchmail.org>; Wed, 12 Nov 2014 14:14:12 -0800 (PST)\r
+Received: from cpc19-cmbg14-2-0-cust212.5-4.cable.virginm.net ([86.6.30.213]\r
+ helo=x230)\r
+ by 4angle.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\r
+ (Exim 4.82) (envelope-from <edward@4angle.com>) id 1XofbB-0002K8-Ue\r
+ for notmuch@notmuchmail.org; Wed, 12 Nov 2014 21:37:10 +0000\r
+Received: from edward by x230 with local (Exim 4.84)\r
+ (envelope-from <edward@x230>) id 1Xofb4-00066L-Kg\r
+ for notmuch@notmuchmail.org; Wed, 12 Nov 2014 21:37:02 +0000\r
+Date: Wed, 12 Nov 2014 21:37:02 +0000\r
+From: Edward Betts <edward@4angle.com>\r
+To: notmuch@notmuchmail.org\r
+Subject: Synchronising mail and notmuch tags between machines\r
+Message-ID: <20141112213702.GA22214@x230>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+Content-Disposition: inline\r
+User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12)\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 12 Nov 2014 22:14:21 -0000\r
+\r
+I've written some code to synchronise mail between my server and laptop. I\r
+have notmuch running on both machine, whenever mail is added to notmuch, it is\r
+tagged as needing to be copied to the other machine, the tags are\r
+sync-to-laptop and sync-to-server. Whenever I modify the tags on a mail I'm\r
+careful to add the sync tag. My mail reader is configured to add the sync tag\r
+whenever I make any changes to a mail.\r
+\r
+Here is the code:\r
+\r
+https://github.com/EdwardBetts/notmuch-pushy/\r
+\r
+The synchronise code opens each database and checks for messages that need to\r
+be synchronised, the tags are copied to the other database, if the mail is new\r
+then content is copied as well. Then the sync tag is removed from the source\r
+message.\r
+\r
+I'm using a Python RPC module called pushy, it provides a simple way to\r
+connect two python interpreters on different machines. Pushy provides proxy\r
+objects to access remote objects as if they are local. These means I can\r
+access the local and remote notmuch databases from within the same piece of\r
+code. All the communication happens over ssh, and pushy even provides methods\r
+for copying files between the machines.\r
+\r
+https://pythonhosted.org/pushy/\r
+https://github.com/pushyrpc/pushy\r
+\r
+My main todo item is reducing the amount of time that the write lock is held.\r
+I should copy messages back and forth before grabbing the write lock to update\r
+the tags.\r
+\r
+It would be helpful if the notmuch would always add the sync tag when a\r
+message was modified, unless the sync tag is explicitly being removed. That\r
+way there is no risk of me forgetting to add the sync tag when I'm modifying\r
+tags using the command line tools.\r
+-- \r
+Edward.\r