--- /dev/null
+Return-Path: <sojkam1@fel.cvut.cz>\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 5CA904196F2\r
+ for <notmuch@notmuchmail.org>; Thu, 8 Apr 2010 08:13:37 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -1.9\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5\r
+ tests=[BAYES_00=-1.9] autolearn=ham\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 jABjXoYgMuk7 for <notmuch@notmuchmail.org>;\r
+ Thu, 8 Apr 2010 08:13:36 -0700 (PDT)\r
+Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36])\r
+ by olra.theworths.org (Postfix) with ESMTP id 82505431FC1\r
+ for <notmuch@notmuchmail.org>; Thu, 8 Apr 2010 08:13:36 -0700 (PDT)\r
+Received: from localhost (unknown [192.168.200.4])\r
+ by max.feld.cvut.cz (Postfix) with ESMTP id DC32219F3375;\r
+ Thu, 8 Apr 2010 17:13:35 +0200 (CEST)\r
+X-Virus-Scanned: IMAP AMAVIS\r
+Received: from max.feld.cvut.cz ([192.168.200.1])\r
+ by localhost (styx.feld.cvut.cz [192.168.200.4]) (amavisd-new,\r
+ port 10044)\r
+ with ESMTP id nCOIWizay5T5; Thu, 8 Apr 2010 17:13:34 +0200 (CEST)\r
+Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34])\r
+ by max.feld.cvut.cz (Postfix) with ESMTP id 915B519F3391;\r
+ Thu, 8 Apr 2010 17:13:34 +0200 (CEST)\r
+Received: from steelpick.2x.cz (k335-30.felk.cvut.cz [147.32.86.30])\r
+ (Authenticated sender: sojkam1)\r
+ by imap.feld.cvut.cz (Postfix) with ESMTPSA id 8C79415C062;\r
+ Thu, 8 Apr 2010 17:13:34 +0200 (CEST)\r
+Received: from wsh by steelpick.2x.cz with local (Exim 4.71)\r
+ (envelope-from <sojkam1@fel.cvut.cz>)\r
+ id 1NztQE-0007sw-BM; Thu, 08 Apr 2010 17:13:34 +0200\r
+From: Michal Sojka <sojkam1@fel.cvut.cz>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH] Mailstore abstraction v4 - part 2 (maildir synchronization)\r
+Date: Thu, 8 Apr 2010 17:13:11 +0200\r
+Message-Id: <1270739592-30280-1-git-send-email-sojkam1@fel.cvut.cz>\r
+X-Mailer: git-send-email 1.7.0.2\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: Thu, 08 Apr 2010 15:13:37 -0000\r
+\r
+This is the second part of mailstore abstraction patches. I do not\r
+want this to be merged yet, but there might be some people interested\r
+in testing this.\r
+\r
+This patch adds a mailstore, which bi-directionally synchronizes\r
+certain tags with maildir flags.\r
+\r
+I use it already four weeks and it works quite well. There are the\r
+following know bugs:\r
+\r
+1) Viewing/storing of attachments of unread messages doesn't work. The\r
+ reason is that when you view the message its unread tag is removed\r
+ by elisp code. This leads to rename of the file, but Emacs still\r
+ uses the original name to access message with the attachment.\r
+\r
+ Workaround: close the message and open it again.\r
+\r
+ I'm working on the solution - if the mailstore cannot open the\r
+ message with the name passed, it tries different names with\r
+ different maildir flags.\r
+\r
+2) If there several messages with the same ID (e.g. one in sent folder\r
+ and one sent back by mailing list), the flags are synchronized to\r
+ only one of these files.\r
+\r
+ I plan to do this:\r
+\r
+ - When a tag is added/removed in notmuch, flags of all\r
+ files corresponding to the message will be updated.\r
+ - If we detect (during notmuch new) that flags of one file were\r
+ changed by somebody else, we also change the flags for the other\r
+ files corresponding to the message.\r
+ - If we detect (during notmuch new) that flags of two or more files\r
+ were changed by somebody else, we have to solve the conflict\r
+ somehow, but I didn't invent how, yet.\r
+\r
+The full series is available at\r
+http://rtime.felk.cvut.cz/gitweb/notmuch.git/shortlog/refs/heads/mailstore-abstraction-v4\r
+and can be pulled by\r
+\r
+ git pull git://rtime.felk.cvut.cz/notmuch.git mailstore-abstraction-v4\r
+\r
+Besides the patch sent here, there are also tests for the maildir\r
+mailstore and a not finished implementation of the solution for 1)\r
+above.\r
+\r
+--Michal\r
+ \r