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 BE1AC4196F3 for ; Thu, 8 Apr 2010 07:43:18 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] 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 vXLEi3qOCyej for ; Thu, 8 Apr 2010 07:43:16 -0700 (PDT) Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) by olra.theworths.org (Postfix) with ESMTP id 9B3124196F4 for ; Thu, 8 Apr 2010 07:43:09 -0700 (PDT) Received: from localhost (unknown [192.168.200.4]) by max.feld.cvut.cz (Postfix) with ESMTP id 12AB519F3409; Thu, 8 Apr 2010 16:43:09 +0200 (CEST) X-Virus-Scanned: IMAP AMAVIS Received: from max.feld.cvut.cz ([192.168.200.1]) by localhost (styx.feld.cvut.cz [192.168.200.4]) (amavisd-new, port 10044) with ESMTP id 2cbj1kEUqIZt; Thu, 8 Apr 2010 16:43:04 +0200 (CEST) Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34]) by max.feld.cvut.cz (Postfix) with ESMTP id 5DD2719F3374; Thu, 8 Apr 2010 16:43:04 +0200 (CEST) Received: from steelpick.2x.cz (k335-30.felk.cvut.cz [147.32.86.30]) (Authenticated sender: sojkam1) by imap.feld.cvut.cz (Postfix) with ESMTPSA id 59E4D15C062; Thu, 8 Apr 2010 16:43:04 +0200 (CEST) Received: from wsh by steelpick.2x.cz with local (Exim 4.71) (envelope-from ) id 1Nzswi-0007cA-67; Thu, 08 Apr 2010 16:43:04 +0200 From: Michal Sojka To: notmuch@notmuchmail.org Subject: [PATCH 0/4] Mailstore abstraction v4 Date: Thu, 8 Apr 2010 16:42:42 +0200 Message-Id: <1270737766-29237-1-git-send-email-sojkam1@fel.cvut.cz> X-Mailer: git-send-email 1.7.0.2 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, 08 Apr 2010 14:43:19 -0000 Hi all, this is the fourth version of my mailstore abstraction series. I split it into two parts, with the first part being sent here. I think that this part becomes mostly ready for merging. >From the user's point of view, it adds only the 'cat' subcommand and modifies the .el to use it. Thanks to this change it is easy to use Emacs client with the database accessed remotely over SSH. The only additional patch that must be applied is id:m1my03gsmu.fsf@watt.gilman.jhu.edu. The rebased version is at http://rtime.felk.cvut.cz/gitweb/notmuch.git/shortlog/refs/heads/jr/quote-args-in-notmuch-show and can be pulled by 'git pull git://rtime.felk.cvut.cz/notmuch.git jr/quote-args-in-notmuch-show'). More importantly, there are bigger changes for developers. Since it might be quite painful to rebase these patches to quickly changing master (as of the last few days) I'd like to have these merged ASAP. So the patches here are the following: Michal Sojka (4): Mailstore abstraction interface Conversion to mailstore abstraction Access messages through mail store interface Add 'cat' subcommand My biggest question relates to the first patch, which does an incompatible change to libnotmuch API. After reading RELEASING file, I found that this change is probably not what Carl wants to merge (and I understand that) so I'd like to get some feedback on my suggestion in that patch. The subsequent patches are quite straightforward and the comments there should describe what these patches do. These patches are also located at git://rtime.felk.cvut.cz/notmuch.git and tagged by mailstore-abstraction-v4-part1. This is the overall diffstat: NEWS | 3 + emacs/notmuch-show.el | 11 +- lib/Makefile.local | 2 + lib/database-private.h | 1 + lib/database.cc | 29 +- lib/index.cc | 8 +- notmuch-new.c => lib/mailstore-files.c | 418 +++++---------------- lib/mailstore-private.h | 59 +++ lib/mailstore.c | 80 ++++ lib/message-file.c | 8 +- lib/message.cc | 46 ++- lib/notmuch-private.h | 6 +- lib/notmuch.h | 98 +++++- lib/sha1.c | 6 +- notmuch-client.h | 12 +- notmuch-config.c | 34 ++ notmuch-count.c | 3 +- notmuch-dump.c | 3 +- notmuch-new.c | 658 +++----------------------------- notmuch-reply.c | 13 +- notmuch-restore.c | 3 +- notmuch-search-tags.c | 3 +- notmuch-search.c | 3 +- notmuch-show.c | 82 ++++- notmuch-tag.c | 3 +- notmuch.c | 4 + show-message.c | 14 +- 27 files changed, 621 insertions(+), 989 deletions(-) copy notmuch-new.c => lib/mailstore-files.c (61%) create mode 100644 lib/mailstore-private.h create mode 100644 lib/mailstore.c