Re: [PATCH v4 04/16] Provide _notmuch_crypto_{set,get}_gpg_path
[notmuch-archives.git] / 8c / 26063f7a393c2c8756face4ba115b448fbac98
1 Return-Path: <madduck@lapse.rw.madduck.net>\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 A0753431FBC\r
6         for <notmuch@notmuchmail.org>; Sun, 24 Jan 2010 16:47:35 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -2.599\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5\r
12         tests=[BAYES_00=-2.599] autolearn=ham\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 dd1WZkSwKsS2 for <notmuch@notmuchmail.org>;\r
16         Sun, 24 Jan 2010 16:47:34 -0800 (PST)\r
17 Received: from clegg.madduck.net (clegg.madduck.net [193.242.105.96])\r
18         by olra.theworths.org (Postfix) with ESMTP id 4569C431FAE\r
19         for <notmuch@notmuchmail.org>; Sun, 24 Jan 2010 16:47:34 -0800 (PST)\r
20 Received: from lapse.rw.madduck.net (leibniz.catalyst.net.nz [202.78.240.7])\r
21         (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
22         (Client CN "lapse.rw.madduck.net",\r
23         Issuer "CAcert Class 3 Root" (verified OK))\r
24         by clegg.madduck.net (postfix) with ESMTPS id B8B901D4099;\r
25         Mon, 25 Jan 2010 01:47:23 +0100 (CET)\r
26 Received: by lapse.rw.madduck.net (Postfix, from userid 1000)\r
27         id 5FC416C5; Mon, 25 Jan 2010 13:46:59 +1300 (NZDT)\r
28 Date: Mon, 25 Jan 2010 13:46:59 +1300\r
29 From: martin f krafft <madduck@madduck.net>\r
30 To: Asheesh Laroia <asheesh@asheesh.org>\r
31 Message-ID: <20100125004659.GA24818@lapse.rw.madduck.net>\r
32 Mail-Followup-To: Asheesh Laroia <asheesh@asheesh.org>,\r
33         notmuch <notmuch@notmuchmail.org>\r
34 References: <20100111221909.GA30299@lapse.rw.madduck.net>\r
35         <1263267603-sup-302@elise>\r
36         <20100112045152.GA15275@lapse.rw.madduck.net>\r
37         <alpine.DEB.2.00.1001140254240.27198@vellum>\r
38         <20100114203730.GE4691@lapse.rw.madduck.net>\r
39         <alpine.DEB.2.00.1001210124590.24778@localhost>\r
40 MIME-Version: 1.0\r
41 Content-Type: multipart/signed; micalg=pgp-ripemd160;\r
42         protocol="application/pgp-signature"; boundary="fdj2RfSjLxBAspz7"\r
43 Content-Disposition: inline\r
44 In-Reply-To: <alpine.DEB.2.00.1001210124590.24778@localhost>\r
45 X-Motto: Keep the good times rollin'\r
46 X-OS: Debian GNU/Linux squeeze/sid kernel 2.6.32-trunk-686 i686\r
47 X-Spamtrap: madduck.bogus@madduck.net\r
48 X-Subliminal-Message: debian/rules!\r
49 User-Agent: Mutt/1.5.20 (2009-06-14)\r
50 X-Virus-Scanned: clamav-milter 0.95.3 at clegg\r
51 X-Virus-Status: Clean\r
52 Cc: notmuch <notmuch@notmuchmail.org>\r
53 Subject: [notmuch] Git as notmuch object store (was: Potential problem using\r
54  Git for mail)\r
55 X-BeenThere: notmuch@notmuchmail.org\r
56 X-Mailman-Version: 2.1.13\r
57 Precedence: list\r
58 List-Id: "Use and development of the notmuch mail system."\r
59         <notmuch.notmuchmail.org>\r
60 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
61         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
62 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
63 List-Post: <mailto:notmuch@notmuchmail.org>\r
64 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
65 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
66         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
67 X-List-Received-Date: Mon, 25 Jan 2010 00:47:35 -0000\r
68 \r
69 \r
70 --fdj2RfSjLxBAspz7\r
71 Content-Type: text/plain; charset=utf-8\r
72 Content-Disposition: inline\r
73 Content-Transfer-Encoding: quoted-printable\r
74 \r
75 also sprach Asheesh Laroia <asheesh@asheesh.org> [2010.01.21.1928 +1300]:\r
76 > >I suppose that I never actually considered merges on the IMAP\r
77 > >server side, but obviously the IMAP server has to work off a clone,\r
78 > >and that means it needs to merge.\r
79 >=20\r
80 > It's not "merge" that's unsafe; that just builds a tree in the git\r
81 > index (assuming no conflicts). It's the ensuing process of git\r
82 > writing a tree to the filesystem that is problematic.\r
83 \r
84 There is no way to make that atomic, I am afraid. As you say.\r
85 \r
86 > I could probably actually write a wrapper that locks the Maildir\r
87 > while git is operating. It would probably be specific to each IMAP\r
88 > server.\r
89 \r
90 Ouch! I'd really rather not go there.\r
91 \r
92 > Note that this mean git is fundamentally incompatible with\r
93 > Maildir, not just IMAP servers.\r
94 \r
95 We had an idea about using Git to replace IMAP altogether, along\r
96 with making notmuch use a bare Git repository as object store. The\r
97 idea is that notmuch uses low-level Git commands to access the .git\r
98 repository (from which you can still checkout a tree tying the blobs\r
99 into a Maildir). The benefit would be compression, lower inode count\r
100 (due to packs), and backups using clones/merges.\r
101 \r
102 You could either have the MDA write to a Git repo on the server side\r
103 and use git packs to download mail to a local clone, or one could\r
104 have e.g. offlineimap grow a Git storage backend. The interface to\r
105 notmuch would be the same.\r
106 \r
107 If we used this, all the rename and delete code would be refactored\r
108 into Git and could be removed from notmuch. In addition, notmuch\r
109 could actually use Git tree objects to represent the results of\r
110 searches, and you could checkout these trees. However, deleting\r
111 messages from search results would not have any effect on the\r
112 message or its existence in other search results, much like what\r
113 happens with mairix nowadays.\r
114 \r
115 I think we all kinda agreed that the Maildir flags should not be\r
116 used by notmuch and that things like Sebastian's notmuchsync should\r
117 be used if people wanted flags represented in Maildir filenames.\r
118 \r
119 Instead of a Maildir checkout, notmuch could provide an interface to\r
120 browse the store contents in a way that could make it accessible to\r
121 mutt. The argument is that with 'notmuch {ls,cat,rm,=E2=80=A6}', a mutt\r
122 backend could be trivially written. I am not sure about that, but\r
123 it's worth a try.\r
124 \r
125 But there are still good reasons why you'd want to have IMAP\r
126 capability too, e.g. Webmail. Given the atomicity problems that come\r
127 =66rom Git, maybe an IMAP server reading from the Git store would make\r
128 sense.\r
129 \r
130 However, this all sounds like a lot of NIH and reinvention. It's\r
131 a bit like the marriage between the hypothetical Maildir2 and Git,\r
132 which is definitely worth pursuing. Before we embark on any of this,\r
133 however, we'd need to define the way in which Git stores mail.\r
134 \r
135 Stewart, you've worked most on this so far. Would you like to share\r
136 your thoughts?\r
137 \r
138 --=20\r
139 martin | http://madduck.net/ | http://two.sentenc.es/\r
140 =20\r
141 "reife des mannes, das ist es,\r
142  den ernst wiedergefunden zu haben, den\r
143  man hatte als kind beim spiel."\r
144                                                 -- friedrich nietzsche\r
145 =20\r
146 spamtraps: madduck.bogus@madduck.net\r
147 \r
148 --fdj2RfSjLxBAspz7\r
149 Content-Type: application/pgp-signature; name="digital_signature_gpg.asc"\r
150 Content-Description: Digital signature (see http://martin-krafft.net/gpg/)\r
151 Content-Disposition: inline\r
152 \r
153 -----BEGIN PGP SIGNATURE-----\r
154 Version: GnuPG v1.4.10 (GNU/Linux)\r
155 \r
156 iEYEAREDAAYFAktc6f0ACgkQIgvIgzMMSnXpgQCfSKQK+ZC5xqzoKKLq9ksNDln7\r
157 58wAnittDhnDlFoZPLR8SwZDo5Q+ap2v\r
158 =Vcry\r
159 -----END PGP SIGNATURE-----\r
160 \r
161 --fdj2RfSjLxBAspz7--\r