1 Return-Path: <eg@gaute.vetsj.com>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 274DF431FBD
\r
6 for <notmuch@notmuchmail.org>; Mon, 28 Apr 2014 00:45:36 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5
\r
12 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id sKfCV94Iv2Ip for <notmuch@notmuchmail.org>;
\r
16 Mon, 28 Apr 2014 00:45:32 -0700 (PDT)
\r
17 Received: from mail-la0-f44.google.com (mail-la0-f44.google.com
\r
18 [209.85.215.44]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
19 (No client certificate requested)
\r
20 by olra.theworths.org (Postfix) with ESMTPS id 9C14B431FBC
\r
21 for <notmuch@notmuchmail.org>; Mon, 28 Apr 2014 00:45:31 -0700 (PDT)
\r
22 Received: by mail-la0-f44.google.com with SMTP id b8so4829741lan.3
\r
23 for <notmuch@notmuchmail.org>; Mon, 28 Apr 2014 00:45:28 -0700 (PDT)
\r
24 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
\r
25 d=1e100.net; s=20130820;
\r
26 h=x-gm-message-state:content-type:from:to:subject:in-reply-to
\r
27 :references:date:message-id:user-agent:content-transfer-encoding;
\r
28 bh=KRjvpTdHENtY8cT7jLRGaeJ5xvh+nyfnqdGJplnHe/g=;
\r
29 b=HMfeKysZ3QJDjhJ3fRUwR7zI7mudfYjA86mFFetkWNvnmmHnuYfbjII/St+pdJtlJG
\r
30 HywfY5S/jDms0iBE0l6VHacuZ2UK+KGu7ujWuKTVPdgSGNVScmYrSm2n2F4A/HfV6lQ0
\r
31 9vhIzJws9drtJXOy7cKU+Zm89qOAQBd5Qm64DOMAw+3Sg3oaKeJNoIcNBLMaY/p0sb3l
\r
32 p3GNmQwVRc1IWytLrOak6PuznKbTDa9pTCSeSDVADNjMHWtvpWSETjO+oE87lw24cYiT
\r
33 jFw8URbVKoWXCjY6Bmk6WYpE1PdsIqHc7AG1hSwIS6LUmIAj3+41lE9OXi+62SfmhrvP
\r
36 ALoCoQmZLjwXFsGcdxjLVTltxVFUVZSjHShhSiUQKjWe5KRmjT6GXxPB+cal7dNQKOH7t73X67GM
\r
37 X-Received: by 10.112.46.225 with SMTP id y1mr17190437lbm.12.1398671128467;
\r
38 Mon, 28 Apr 2014 00:45:28 -0700 (PDT)
\r
39 Received: from localhost ([128.39.46.106]) by mx.google.com with ESMTPSA id
\r
40 kk4sm18023621lbb.22.2014.04.28.00.45.27 for <notmuch@notmuchmail.org>
\r
41 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
\r
42 Mon, 28 Apr 2014 00:45:27 -0700 (PDT)
\r
43 Content-Type: text/plain; charset=UTF-8
\r
44 From: Gaute Hope <eg@gaute.vetsj.com>
\r
45 To: notmuch <notmuch@notmuchmail.org>
\r
46 Subject: Re: github mirror
\r
47 In-reply-to: <87y4yq9g4d.fsf@ta.scs.stanford.edu>
\r
48 References: <87bnvn111h.fsf@Samskara.home> <20140427223717.GQ25817@mit.edu>
\r
49 <87y4yq9g4d.fsf@ta.scs.stanford.edu>
\r
50 Date: Mon, 28 Apr 2014 09:44:18 +0200
\r
51 Message-Id: <1398670863-sup-1430@qwerzila>
\r
53 Content-Transfer-Encoding: 8bit
\r
54 X-BeenThere: notmuch@notmuchmail.org
\r
55 X-Mailman-Version: 2.1.13
\r
57 List-Id: "Use and development of the notmuch mail system."
\r
58 <notmuch.notmuchmail.org>
\r
59 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
60 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
61 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
62 List-Post: <mailto:notmuch@notmuchmail.org>
\r
63 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
64 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
65 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
66 X-List-Received-Date: Mon, 28 Apr 2014 07:45:36 -0000
\r
68 Excerpts from David Mazieres's message of 2014-04-28 07:29:06 +0200:
\r
69 > Austin Clements <amdragon@MIT.EDU> writes:
\r
71 > > As for storing this information directly in messages, in general, the
\r
72 > > notmuch community is opposed to modifying messages. This causes many
\r
73 > > problems, and immutable messages are more robust and simplify so many
\r
74 > > things. IMAP assumes messages are immutable. Maildir assumes
\r
75 > > messages are immutable. Notmuch new would get dramatically slower if
\r
76 > > it had to check for messages modifications. What do you do if you
\r
77 > > change a tag and there are multiple copies of a message? What do you
\r
78 > > do if there are multiple copies and they disagree about the tags? How
\r
79 > > do you atomically update the tags stored in a message? From an
\r
80 > > engineering standpoint, it's much better to avoid mutable messages.
\r
82 > The speed penalty would be very minor in the common case. Muchsync
\r
83 > scans directories (since it has to scan file contents) and the cost to
\r
84 > compute SHA-1 hashes of modified files is under 50 msec or something in
\r
85 > the common case. Extracting tags would be even cheaper. The reason is
\r
86 > that A) you only need to scan modified directories, and B) you don't
\r
87 > need to open the file unless the inode, mtime, or size has changed.
\r
88 > Originally I was going to implement an optimization to detect renamed
\r
89 > files and avoid computing SHA-1 again (for the case where maildir flags
\r
90 > have changed), but in the end this wasn't even worth it because the cost
\r
93 > That said, I agree that the complexity of altering files is not worth
\r
94 > it. Especially since most imap servers will not know about this. Also,
\r
95 > the question of what do you do with duplicate message IDs (which is
\r
96 > effectively what you have when the tags disagree) is a more general
\r
97 > problem still needing a solution, and would be exacerbated by embedding
\r
98 > important information like tags in the message.
\r
100 > Really what you want is an imap server built on top of the notmuch
\r
101 > library. That way you could use notmuch from your desktop and then use
\r
102 > imap from your phone, and everything would stay perfectly in sync.
\r
103 > Implementing such a server wouldn't be that hard, but it would help if
\r
104 > notmuch made the _notmuch_message_get_doc_id and
\r
105 > _notmuch_directory_get_document_id functions semi-public. Then the imap
\r
106 > server could just use docids as uids. (Plus then muchsync wouldn't have
\r
107 > to go through gross contortions to get docids information...)
\r
109 That would be nice, but a solution where the user does not need to run
\r
110 his own server is in my opinion pretty essential.
\r