[PATCH v2 0/8] URI-based modular mail stores
authorEthan Glasser-Camp <ethan.glasser.camp@gmail.com>
Sun, 1 Jul 2012 16:39:42 +0000 (12:39 +2000)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:47:54 +0000 (09:47 -0800)
dc/1d0a3530a67d849efbd0a3e5c939a84c72eb30 [new file with mode: 0644]

diff --git a/dc/1d0a3530a67d849efbd0a3e5c939a84c72eb30 b/dc/1d0a3530a67d849efbd0a3e5c939a84c72eb30
new file mode 100644 (file)
index 0000000..6826a79
--- /dev/null
@@ -0,0 +1,121 @@
+Return-Path: <ethan.glasser.camp@gmail.com>\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 8411B431FBC\r
+       for <notmuch@notmuchmail.org>; Sun,  1 Jul 2012 09:40:19 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 1.061\r
+X-Spam-Level: *\r
+X-Spam-Status: No, score=1.061 tagged_above=-999 required=5\r
+       tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+       FREEMAIL_FROM=0.001, RCVD_IN_BL_SPAMCOP_NET=1.246,\r
+       RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_WEB=0.614] 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 dU4Y8dfgucAE for <notmuch@notmuchmail.org>;\r
+       Sun,  1 Jul 2012 09:40:19 -0700 (PDT)\r
+Received: from mail-wg0-f45.google.com (mail-wg0-f45.google.com\r
+ [74.125.82.45])       (using TLSv1 with cipher RC4-SHA (128/128 bits))        (No client\r
+ certificate requested)        by olra.theworths.org (Postfix) with ESMTPS id\r
+ C206D431FAE   for <notmuch@notmuchmail.org>; Sun,  1 Jul 2012 09:40:18 -0700\r
+ (PDT)\r
+Received: by wgbdt14 with SMTP id dt14so3718702wgb.2\r
+       for <notmuch@notmuchmail.org>; Sun, 01 Jul 2012 09:40:16 -0700 (PDT)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;\r
+       h=from:to:subject:date:message-id:x-mailer:in-reply-to:references;\r
+       bh=4DpI0eDxkxX4K2lpcUiJxHAhLd/N98dUJ1d1DmIysLw=;\r
+       b=Ct/uxqo6z5a5jWtyZA8WaXMVvf6TV9UL9FkrABSbjrs4jJMe9Zk5om5uYhsuwq5IWc\r
+       O0OP90SjBCze0f/J30YNyIp7MBaKFRjTklQbo/+2SybVhFdfFSx+366fWWiAzZ6mw7Ky\r
+       d/qSrg28GHCLAwD8Q0eD5MXcw1NDptgvZLfZVZEEX0yn+kr/DAz/R/gFygfu1u0Nn3V3\r
+       2wVe71BEko7lzk3v1n6tup20q9a5UpeVDb/SGhaxkJxZGnAMf7RViCWSyz1VocTB+qs5\r
+       6jlRDlYNKPM932iKU4pGaipKguaGMmK02QtzQ96aVTi+mqbnh2hL6RMH9TbucHZBFL4r\r
+       X3UQ==\r
+Received: by 10.180.103.4 with SMTP id fs4mr11193008wib.16.1341160816022;\r
+       Sun, 01 Jul 2012 09:40:16 -0700 (PDT)\r
+Received: from localhost ([195.24.209.21])\r
+       by mx.google.com with ESMTPS id fu8sm19686504wib.5.2012.07.01.09.40.06\r
+       (version=TLSv1/SSLv3 cipher=OTHER);\r
+       Sun, 01 Jul 2012 09:40:15 -0700 (PDT)\r
+From: Ethan Glasser-Camp <ethan.glasser.camp@gmail.com>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH v2 0/8] URI-based modular mail stores\r
+Date: Sun,  1 Jul 2012 12:39:42 -0400\r
+Message-Id: <1341160790-14525-1-git-send-email-ethan@betacantrips.com>\r
+X-Mailer: git-send-email 1.7.9.5\r
+In-Reply-To:\r
+ <CAOJ+Ob0MSOez2MvD2fCgF7t32kFPk4g2+xCud88QmBLt_b5pOA@mail.gmail.com>\r
+References:\r
+ <CAOJ+Ob0MSOez2MvD2fCgF7t32kFPk4g2+xCud88QmBLt_b5pOA@mail.gmail.com>\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, 01 Jul 2012 16:40:19 -0000\r
+\r
+Hi guys,\r
+\r
+Based on the feedback from the last patch series (thanks a lot to Mark\r
+Walters and Jani Nikula for taking the time to look at it!) I revised\r
+this patch series to not change the handling of maildir filenames at\r
+all. This meant not having to give up relocatability, and also\r
+simplified the patch series a great deal (down to 8 patches instead of\r
+14). I also noticed that there is only one use of notmuch_sha1_of_file\r
+and it is only used on messages, so instead of splitting the function\r
+as in the last patch series, I just renamed it.\r
+\r
+As a reminder, this patch series proposes a mailstore.c module, which\r
+is responsible for accessing "filenames" which, in addition to\r
+ordinary filenames, can also be URIs.\r
+\r
+- Patches 1-5 add the mailstore module and complementary interfaces,\r
+  such as a new.scan option that tell notmuch-new where to look for\r
+  other mail.\r
+\r
+- Patches 6-8 prove the validity of this interface by using it to add\r
+  mbox support.\r
+\r
+I know this is still pretty big and does two different things, but\r
+mbox support relies on URI support, and URI support is meaningless\r
+without some new kind of mail store.\r
+\r
+There are a few missing features in this patch series, but I was\r
+hesitant to add them because I didn't want to make the series any more\r
+complex. To wit, future series could include:\r
+\r
+- notmuch-new.c: some code is shared between add_files_recursive and\r
+  add_files_mbox{,_file}, specifically the code that scans directories\r
+  for subdirectories and then recurses, and the code that scans\r
+  directories for regular files and then does something else. Some\r
+  guidance on how best to refactor that, or whether to even bother,\r
+  would be appreciated.\r
+\r
+- notmuch-config.c: I think instead of one option for new.scan, it\r
+  would be good to have a section called [urls], for which each entry\r
+  is name=url. This would also allow relocatability for mail not\r
+  located in the central maildir (store the name in Xapian, and\r
+  translate it to the URL on the way in/out).\r
+\r
+- notmuch-new.c: code could be added to notice when we "walked past" a\r
+  message in an mbox file and mark it as deleted, as is currently done\r
+  with maildir.\r
+\r
+- notmuch-new.c: no support for count_files kinds of operations\r
+  exists.\r
+\r
+Unlike the previous patch series, I would appreciate it if you\r
+reviewed this one :)\r
+\r
+Thanks for your time!\r
+\r
+Ethan\r
+\r