1 Return-Path: <jani@nikula.org>
\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 5C057431FC9
\r
6 for <notmuch@notmuchmail.org>; Sun, 9 Mar 2014 14:40:49 -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 59nlJGWY3jPQ for <notmuch@notmuchmail.org>;
\r
16 Sun, 9 Mar 2014 14:40:40 -0700 (PDT)
\r
17 Received: from mail-lb0-f175.google.com (mail-lb0-f175.google.com
\r
18 [209.85.217.175]) (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 0F8C4431FBC
\r
21 for <notmuch@notmuchmail.org>; Sun, 9 Mar 2014 14:40:39 -0700 (PDT)
\r
22 Received: by mail-lb0-f175.google.com with SMTP id w7so4080154lbi.6
\r
23 for <notmuch@notmuchmail.org>; Sun, 09 Mar 2014 14:40:38 -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:from:to:cc:subject:date:message-id;
\r
27 bh=/stxhZQ9uvCXqjuswF3yDmfL6WLRF9grsBnLgQKtcsA=;
\r
28 b=ElnwU5MAcMhwTOl6avx0Rmk2pUmCu7KTU5i6uCdqkEIPgYxcWjZYXKGo6WkiZbkFXY
\r
29 bpvJDXiIiNpIOYYlreX1DxmjEDsMOe2PZYeB0EjjMVDsi+LU9umHveKTAheD7BrfgW2M
\r
30 un2z5Zm4pFmz0W6PTbNsTRUXORarvjrHP2ru5Qo6Heu5pYCwe9T2HG45HxMhSbNEekWt
\r
31 jcEvs0rOfpQOmzp9iaW5grhIGPtFZLENKJSPHVL0/7r7vnpZ7G3kelLgS2Lwo42i7P7Z
\r
32 yahMwQenbUgVjUqnRA0DNtN2a0yLpGb3haHWXVzrwg/l/s2P7jFTxQFA0nJfD0zNl601
\r
35 ALoCoQnJ1qEbNLF7Bmbe6VsnfGiyTzrdVlLxQOvAPVkml8EHFASkUbiButoPQYbH+/mnGX61DfwW
\r
36 X-Received: by 10.152.225.70 with SMTP id ri6mr21027482lac.26.1394401237327;
\r
37 Sun, 09 Mar 2014 14:40:37 -0700 (PDT)
\r
38 Received: from localhost (dsl-hkibrasgw2-58c36f-91.dhcp.inet.fi.
\r
40 by mx.google.com with ESMTPSA id q6sm26906750lal.3.2014.03.09.14.40.35
\r
41 for <multiple recipients>
\r
42 (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
\r
43 Sun, 09 Mar 2014 14:40:36 -0700 (PDT)
\r
44 From: Jani Nikula <jani@nikula.org>
\r
45 To: notmuch@notmuchmail.org
\r
46 Subject: [PATCH v4 00/13] boolean folder: and path: searches
\r
47 Date: Sun, 9 Mar 2014 23:40:21 +0200
\r
48 Message-Id: <cover.1394400503.git.jani@nikula.org>
\r
49 X-Mailer: git-send-email 1.9.0
\r
50 X-BeenThere: notmuch@notmuchmail.org
\r
51 X-Mailman-Version: 2.1.13
\r
53 List-Id: "Use and development of the notmuch mail system."
\r
54 <notmuch.notmuchmail.org>
\r
55 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
56 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
57 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
58 List-Post: <mailto:notmuch@notmuchmail.org>
\r
59 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
60 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
61 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
62 X-List-Received-Date: Sun, 09 Mar 2014 21:40:49 -0000
\r
64 This is v4 of id:1394313585-28422-1-git-send-email-david@tethera.net.
\r
66 Changes since v3, mostly addressing Austin's review and comments on IRC:
\r
68 * Removed the extra corpus for folder tests. Instead, arranged the
\r
69 existing corpus into more folders. (Patch 01.)
\r
71 * Changed the folder/path tests to reflect the above, and incorporated
\r
72 them into existing folder tests instead of adding a new one. (Patch
\r
75 * Added a new patch to do notmuch_search_files_sanitize. (Patch 02.)
\r
77 * Folded test updates to folder: update to make tests pass at every
\r
80 * Fixed indent fails and added comment about XFOLDER: prefix,
\r
81 spotted/suggested by Austin. (Patch 06.)
\r
83 * Used Austin's man page suggestion verbatim, but this may have to be
\r
84 redone if David's documentation changes get merged first. (Patch 09.)
\r
86 * Fixed a stray make dependency. (Patch 13.)
\r
88 * Notably *no* functional code changes.
\r
90 Finally, take heed of David's warning id:874n37a017.fsf@zancas.localnet.
\r
97 test: commit folders-v1.tar.xz checksum, ignore actual databases
\r
98 test: add machinery to download and verify databases
\r
101 test: rearrange the test corpus into subfolders
\r
102 test: add notmuch_search_files_sanitize and use it
\r
103 lib: refactor folder term update after filename removal
\r
104 lib: add support for path: prefix searches
\r
105 test: make insert test use the path: prefix
\r
106 lib: make folder: prefix literal
\r
107 test: add tests for the new boolean folder: and path: prefixes
\r
108 test: add database upgrade test from format version 1 to 2
\r
109 man: update man pages for folder: and path: search terms
\r
110 man: try to clarify the folder: and path: vs. --output=files confusion
\r
111 devel: add script to generate test databases
\r
114 devel/gen-testdb.sh | 131 ++++++++++++++
\r
115 lib/database.cc | 51 +++++-
\r
116 lib/message.cc | 249 ++++++++++++++++++---------
\r
117 lib/notmuch-private.h | 3 +
\r
118 man/man1/notmuch-search.1 | 10 +-
\r
119 man/man7/notmuch-search-terms.7 | 41 ++++-
\r
121 test/T070-insert.sh | 10 +-
\r
122 test/T090-search-output.sh | 176 +++++++++----------
\r
123 test/T100-search-by-folder.sh | 117 ++++++++++++-
\r
124 test/T370-search-folder-coherence.sh | 2 +-
\r
125 test/T530-upgrade.sh | 115 +++++++++++++
\r
126 test/corpus/{cur => }/01:2, | 0
\r
127 test/corpus/{cur => }/02:2, | 0
\r
128 test/corpus/{cur => bar}/17:2, | 0
\r
129 test/corpus/{cur => bar}/18:2, | 0
\r
130 test/corpus/{cur => bar/baz}/05:2, | 0
\r
131 test/corpus/{cur => bar/baz}/23:2, | 0
\r
132 test/corpus/{cur => bar/baz}/24:2, | 0
\r
133 test/corpus/{ => bar/baz}/cur/25:2, | 0
\r
134 test/corpus/{ => bar/baz}/cur/26:2, | 0
\r
135 test/corpus/{cur => bar/baz/new}/27:2, | 0
\r
136 test/corpus/{cur => bar/baz/new}/28:2, | 0
\r
137 test/corpus/{ => bar}/cur/19:2, | 0
\r
138 test/corpus/{ => bar}/cur/20:2, | 0
\r
139 test/corpus/{cur => bar/new}/21:2, | 0
\r
140 test/corpus/{cur => bar/new}/22:2, | 0
\r
141 test/corpus/{cur => foo}/06:2, | 0
\r
142 test/corpus/{cur => foo/baz}/11:2, | 0
\r
143 test/corpus/{cur => foo/baz}/12:2, | 0
\r
144 test/corpus/{ => foo/baz}/cur/13:2, | 0
\r
145 test/corpus/{ => foo/baz}/cur/14:2, | 0
\r
146 test/corpus/{cur => foo/baz/new}/15:2, | 0
\r
147 test/corpus/{cur => foo/baz/new}/16:2, | 0
\r
148 test/corpus/{ => foo}/cur/07:2, | 0
\r
149 test/corpus/{ => foo}/cur/08:2, | 0
\r
150 test/corpus/{cur => foo/new}/03:2, | 0
\r
151 test/corpus/{cur => foo/new}/09:2, | 0
\r
152 test/corpus/{cur => foo/new}/10:2, | 0
\r
153 test/corpus/{cur => new}/04:2, | 0
\r
154 test/test-databases/.gitignore | 1 +
\r
155 test/test-databases/Makefile | 7 +
\r
156 test/test-databases/Makefile.local | 14 ++
\r
157 test/test-databases/folders-v1.tar.xz.sha256 | 1 +
\r
158 test/test-lib.sh | 5 +
\r
159 46 files changed, 753 insertions(+), 191 deletions(-)
\r
160 create mode 100755 devel/gen-testdb.sh
\r
161 create mode 100755 test/T530-upgrade.sh
\r
162 rename test/corpus/{cur => }/01:2, (100%)
\r
163 rename test/corpus/{cur => }/02:2, (100%)
\r
164 rename test/corpus/{cur => bar}/17:2, (100%)
\r
165 rename test/corpus/{cur => bar}/18:2, (100%)
\r
166 rename test/corpus/{cur => bar/baz}/05:2, (100%)
\r
167 rename test/corpus/{cur => bar/baz}/23:2, (100%)
\r
168 rename test/corpus/{cur => bar/baz}/24:2, (100%)
\r
169 rename test/corpus/{ => bar/baz}/cur/25:2, (100%)
\r
170 rename test/corpus/{ => bar/baz}/cur/26:2, (100%)
\r
171 rename test/corpus/{cur => bar/baz/new}/27:2, (100%)
\r
172 rename test/corpus/{cur => bar/baz/new}/28:2, (100%)
\r
173 rename test/corpus/{ => bar}/cur/19:2, (100%)
\r
174 rename test/corpus/{ => bar}/cur/20:2, (100%)
\r
175 rename test/corpus/{cur => bar/new}/21:2, (100%)
\r
176 rename test/corpus/{cur => bar/new}/22:2, (100%)
\r
177 rename test/corpus/{cur => foo}/06:2, (100%)
\r
178 rename test/corpus/{cur => foo/baz}/11:2, (100%)
\r
179 rename test/corpus/{cur => foo/baz}/12:2, (100%)
\r
180 rename test/corpus/{ => foo/baz}/cur/13:2, (100%)
\r
181 rename test/corpus/{ => foo/baz}/cur/14:2, (100%)
\r
182 rename test/corpus/{cur => foo/baz/new}/15:2, (100%)
\r
183 rename test/corpus/{cur => foo/baz/new}/16:2, (100%)
\r
184 rename test/corpus/{ => foo}/cur/07:2, (100%)
\r
185 rename test/corpus/{ => foo}/cur/08:2, (100%)
\r
186 rename test/corpus/{cur => foo/new}/03:2, (100%)
\r
187 rename test/corpus/{cur => foo/new}/09:2, (100%)
\r
188 rename test/corpus/{cur => foo/new}/10:2, (100%)
\r
189 rename test/corpus/{cur => new}/04:2, (100%)
\r
190 create mode 100644 test/test-databases/.gitignore
\r
191 create mode 100644 test/test-databases/Makefile
\r
192 create mode 100644 test/test-databases/Makefile.local
\r
193 create mode 100644 test/test-databases/folders-v1.tar.xz.sha256
\r