--- /dev/null
+Return-Path: <amdragon@mit.edu>\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 9B7C4431FBD\r
+ for <notmuch@notmuchmail.org>; Sun, 27 Apr 2014 15:37:30 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+ tests=[RCVD_IN_DNSWL_LOW=-0.7] 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 57RMeBf17N9i for <notmuch@notmuchmail.org>;\r
+ Sun, 27 Apr 2014 15:37:24 -0700 (PDT)\r
+Received: from dmz-mailsec-scanner-8.mit.edu (dmz-mailsec-scanner-8.mit.edu\r
+ [18.7.68.37])\r
+ (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id 38F41431FBC\r
+ for <notmuch@notmuchmail.org>; Sun, 27 Apr 2014 15:37:24 -0700 (PDT)\r
+X-AuditID: 12074425-f79906d000000cf9-d1-535d86a39583\r
+Received: from mailhub-auth-2.mit.edu ( [18.7.62.36])\r
+ (using TLS with cipher AES256-SHA (256/256 bits))\r
+ (Client did not present a certificate)\r
+ by dmz-mailsec-scanner-8.mit.edu (Symantec Messaging Gateway) with SMTP\r
+ id D3.F2.03321.3A68D535; Sun, 27 Apr 2014 18:37:23 -0400 (EDT)\r
+Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])\r
+ by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id s3RMbLCY012395; \r
+ Sun, 27 Apr 2014 18:37:23 -0400\r
+Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91])\r
+ (authenticated bits=0)\r
+ (User authenticated as amdragon@ATHENA.MIT.EDU)\r
+ by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id s3RMbJY4017284\r
+ (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);\r
+ Sun, 27 Apr 2014 18:37:20 -0400\r
+Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.80)\r
+ (envelope-from <amdragon@mit.edu>)\r
+ id 1WeXhG-0003yl-PQ; Sun, 27 Apr 2014 18:37:19 -0400\r
+Date: Sun, 27 Apr 2014 18:37:17 -0400\r
+From: Austin Clements <amdragon@MIT.EDU>\r
+To: Sam Halliday <sam.halliday@gmail.com>\r
+Subject: Re: github mirror\r
+Message-ID: <20140427223717.GQ25817@mit.edu>\r
+References: <87bnvn111h.fsf@Samskara.home>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+Content-Disposition: inline\r
+In-Reply-To: <87bnvn111h.fsf@Samskara.home>\r
+User-Agent: Mutt/1.5.21 (2010-09-15)\r
+X-Brightmail-Tracker:\r
+ H4sIAAAAAAAAA+NgFmpkleLIzCtJLcpLzFFi42IRYrdT0V3cFhtscHyegMX1mzOZLd52/2N3\r
+ YPLYOesuu8ezVbeYA5iiuGxSUnMyy1KL9O0SuDL2n13LXNArUNF97jBrA2MHbxcjB4eEgInE\r
+ ojkSXYycQKaYxIV769m6GLk4hARmM0lsvH6JFcLZyCjxvuEKE4Rzmkmia8t3VpAWIYEljBI3\r
+ b0uCTGIRUJV4vtEQJMwmoCGxbf9yRhBbREBTomfySSYQm1lAWuLb72YwW1hASuL65h/MIDav\r
+ gI7EorbZbBAjtSRO3lzOAhEXlDg58wkLRK+WxI1/L5lAVoHMWf6PAyTMKaAtMWPue7BWUQEV\r
+ iSknt7FNYBSahaR7FpLuWQjdCxiZVzHKpuRW6eYmZuYUpybrFicn5uWlFula6OVmluilppRu\r
+ YgSHtIvqDsYJh5QOMQpwMCrx8AoKxQYLsSaWFVfmHmKU5GBSEuUtaAIK8SXlp1RmJBZnxBeV\r
+ 5qQWH2KU4GBWEuFlLADK8aYkVlalFuXDpKQ5WJTEed9aWwULCaQnlqRmp6YWpBbBZGU4OJQk\r
+ eKe0AjUKFqWmp1akZeaUIKSZODhBhvMADU8BqeEtLkjMLc5Mh8ifYlSUEuddApIQAElklObB\r
+ 9cJSzitGcaBXhHnPglTxANMVXPcroMFMQIN7Q6NBBpckIqSkGhgrdxdN9blwZ534mgUzvHmn\r
+ Zj+U43SVtl/q61JUbawf96CYzd7pmaTDxGtrt33hubN/0x9Lifq5H21ZGXcrdLcekN658aLK\r
+ jJBzXRMsvDdc/+70XZxj1Y2C9+3pT68EXX54uDVpwTVZg6zpB66730s8Fnnyr3Tq2od/7vS6\r
+ TOO/tIk18yXDec8bSizFGYmGWsxFxYkA8TQdexQDAAA=\r
+Cc: notmuch@notmuchmail.org\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: Sun, 27 Apr 2014 22:37:30 -0000\r
+\r
+Quoth Sam Halliday on Apr 27 at 12:09 pm:\r
+> But in any case, my RFE/question was this: how hard would it be to have\r
+> an optional mode of behaviour where tags are stored in the message\r
+> itself, so that syncing with an IMAP server (e.g. via offlineimap)\r
+> would make the tags available on all devices. This would negate the need\r
+> for workarounds, such as shared notmuch databases, when users have\r
+> multiple machines.\r
+> \r
+> It would also allow applications like offlineimap to introduce a gmail\r
+> plugin that would copy the message into a folder according to its tags,\r
+> so gmail labels and notmuch tags would be in sync.\r
+\r
+FWIW, we've discussed being able to configure a bi-directional mapping\r
+between folders and notmuch tags, using hard links (or simply message\r
+copies) to map messages with multiple tags to multiple file system\r
+folders. There's been some prototyping [1], though no serious code.\r
+If this did happen, you'd be able to sync Gmail labels with notmuch\r
+tags without any help from OfflineIMAP (OfflineIMAP could perform\r
+better and use less disk space if it knew how to set up hard links\r
+when talking to Gmail, but this would be entirely independent of\r
+notmuch). You might also be able to work out cross-device sync, using\r
+IMAP folder synchronization as a channel for tag synchronization.\r
+\r
+As for storing this information directly in messages, in general, the\r
+notmuch community is opposed to modifying messages. This causes many\r
+problems, and immutable messages are more robust and simplify so many\r
+things. IMAP assumes messages are immutable. Maildir assumes\r
+messages are immutable. Notmuch new would get dramatically slower if\r
+it had to check for messages modifications. What do you do if you\r
+change a tag and there are multiple copies of a message? What do you\r
+do if there are multiple copies and they disagree about the tags? How\r
+do you atomically update the tags stored in a message? From an\r
+engineering standpoint, it's much better to avoid mutable messages.\r
+\r
+[1] id:874nk8v9zw.fsf@zancas.localnet\r