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