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 A1C10431FBC for ; Wed, 13 Jan 2010 17:32:10 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.821 X-Spam-Level: X-Spam-Status: No, score=-1.821 tagged_above=-999 required=5 tests=[ALL_TRUSTED=-1.8, AWL=-0.022, BAYES_50=0.001] autolearn=ham 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 lIzYD6TKr9K5; Wed, 13 Jan 2010 17:32:09 -0800 (PST) Received: from yoom.home.cworth.org (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 95AC4431FAE; Wed, 13 Jan 2010 17:32:09 -0800 (PST) Received: by yoom.home.cworth.org (Postfix, from userid 1000) id 43112254090; Wed, 13 Jan 2010 17:32:09 -0800 (PST) From: Carl Worth To: martin f krafft , mailtags discussion list In-Reply-To: <20100111221909.GA30299@lapse.rw.madduck.net> References: <20100111221909.GA30299@lapse.rw.madduck.net> Date: Wed, 13 Jan 2010 17:32:08 -0800 Message-ID: <87hbqpfp47.fsf@yoom.home.cworth.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Cc: notmuch discussion list Subject: Re: [notmuch] Idea for storing tags 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: Thu, 14 Jan 2010 01:32:10 -0000 --=-=-= On Tue, 12 Jan 2010 11:19:09 +1300, martin f krafft wrote: > 1. External database, which has the downside of not being > synchronisable with standard IMAP, like the rest of your mail > (assuming you use IMAP). Also, it's possible for mailstore and > database to get out of sync. Yes. This approach requires some external means of synchronizing the tags from one system to another. I don't understand what it would mean to have the mailstore and the database out of synch here. This approach doesn't have the tags in the mailstore by definition, right? > How about using pseudo-mails stored in Maildir and synchronised by > IMAP? E.g. every folder could have a subfolder .TAGS and if we find > a way to smartly pair messages between parent and subfolder, we'd > have a tag store alongside the mailstore it refers to, but without > the danger of leakage, and without having to rewrite messages. ... > Anyway, the idea is out now. Thoughts? There are a couple of problems that I don't see addressed at all with this approach. The first is that there's not a one-to-one mapping between messages and files in the mail store. (I'm CCed on a lot of list mail meaning that I have multiple files in my mail store for a single message.) Second, the only reason I would be interested in synchronizing mail between two systems is so that I could manipulate the tag data in multiple places, (that is, remove the "unread" tag whether on my network-disconnected laptop or via web-mail when away from my laptop). Using imap for synchronizing a file of tags within the mail store gives you no mechanism for doing any sort of conflict resolution, right? (Which I think in almost all cases is going to be quite trivial if there's a chance for a program to resolve it.) So it sounds to me like we're going to need *something* custom for doing the synchronization, (to handle modifications on both ends). At which point there's only disadvantages to keeping the data inside the mailstore, and there's also no disadvantage left to keeping the data inside a database. [*] [*] Though, I think a plain-text file with tags managed with something like git (and perhaps a custom merger) could save a lot of work. Or perhaps a plain-text journal of tag manipulations on either end that could be replayed on the other. -Carl --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iD8DBQFLTnQZ6JDdNq8qSWgRAkEHAJ4wqrIK/iL1iB8FzudLc40ToYs8ZACcD3wu mgLY8cAlsCbTaPTdD7Zou8o= =HSmh -----END PGP SIGNATURE----- --=-=-=--