Re: [PATCH 0/4] Allow specifying alternate names for addresses in other_email
[notmuch-archives.git] / 6c / 0b0f05c28face14a6b9954c22ddd7f375fdadc
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 1F84F431E82\r
6         for <notmuch@notmuchmail.org>; Sat, 22 Feb 2014 14:26:09 -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: -0.7\r
10 X-Spam-Level: \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 zPdWKunUjFJK for <notmuch@notmuchmail.org>;\r
16         Sat, 22 Feb 2014 14:26:01 -0800 (PST)\r
17 Received: from mail-ee0-f41.google.com (mail-ee0-f41.google.com\r
18  [74.125.83.41])        (using TLSv1 with cipher RC4-SHA (128/128 bits))        (No client\r
19  certificate requested) by olra.theworths.org (Postfix) with ESMTPS id\r
20  32657431FD0    for <notmuch@notmuchmail.org>; Sat, 22 Feb 2014 14:25:57 -0800\r
21  (PST)\r
22 Received: by mail-ee0-f41.google.com with SMTP id b15so173190eek.28\r
23         for <notmuch@notmuchmail.org>; Sat, 22 Feb 2014 14:25:56 -0800 (PST)\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=5or+fSISvPN6okM8CVy0SAqZzP8pwwgQyiAuoaWCucM=;\r
28         b=I6EGpgSxL30NyBdZvx7RX2Elend1SLWVWNsR0Is8so9bzMk4+8zsq0hDjNuXIA3pGk\r
29         wgrVcKE2tX35mcSnAMW9OktIPfvTBNYI2GNcAOuz2uiWc9iOex1grZrX7zMD5etrsZhU\r
30         UucTiRX7U+scIC4m/6IDo8bZKd1cwi3GmLdzZN3wh+IHiFj0Vpa2kY0D/3Sx1eiogmkc\r
31         5T5mxfIQaihfN4kr2zA/vAdeP2c3607o+CQMldOcviaQQNLixyGpj6HeL1/ePFlkjUSy\r
32         lb6oUub6eCUj/ilb0AVs+DBDC5oqZSJdhPwNQdAnQJqc021ZHbNw9HcIlM20iNw2HpRD\r
33         saTA==\r
34 X-Gm-Message-State:\r
35  ALoCoQkIc7/6Fb/gLiqJ8DJW85yXbjbXViIdWOqchtQDRNUmlS3NMk1OK4c+R/5DNc+8mtJHr8Rt\r
36 X-Received: by 10.14.2.71 with SMTP id 47mr16444185eee.108.1393107947389;\r
37         Sat, 22 Feb 2014 14:25:47 -0800 (PST)\r
38 Received: from localhost (dsl-hkibrasgw2-58c36f-91.dhcp.inet.fi.\r
39         [88.195.111.91])\r
40         by mx.google.com with ESMTPSA id u6sm43756078eep.11.2014.02.22.14.25.45\r
41         for <multiple recipients>\r
42         (version=TLSv1.2 cipher=RC4-SHA bits=128/128);\r
43         Sat, 22 Feb 2014 14:25:46 -0800 (PST)\r
44 From: Jani Nikula <jani@nikula.org>\r
45 To: notmuch@notmuchmail.org\r
46 Subject: [PATCH v2 00/13] literal folder: prefix, new path: prefix\r
47 Date: Sun, 23 Feb 2014 00:25:31 +0200\r
48 Message-Id: <cover.1393105055.git.jani@nikula.org>\r
49 X-Mailer: git-send-email 1.8.5.3\r
50 X-BeenThere: notmuch@notmuchmail.org\r
51 X-Mailman-Version: 2.1.13\r
52 Precedence: list\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: Sat, 22 Feb 2014 22:26:09 -0000\r
63 \r
64 Hi all, this is v2 of id:cover.1389304779.git.jani@nikula.org.\r
65 \r
66 The new path: prefix is a literal boolean prefix matching the paths,\r
67 relative from the maildir root, of the message files. There's no\r
68 interpretation of the maildir special cur/new folders, but a recursive\r
69 match is provided with "/**" suffix. See the patch for details.\r
70 \r
71 The folder: prefix becomes a literal boolean prefix, similar to path:,\r
72 except it matches the maildir cur/new folders in addition to the\r
73 specified path. There's no recursive version.\r
74 \r
75 Patches 1-5 add the above.\r
76 \r
77 Patches 6-8 change the test infrastructure to make it easier to add\r
78 multiple corpuses, and adds a new test for path: and folder:.\r
79 \r
80 Patches 9-11 add support for testing the database upgrade.\r
81 \r
82 Patches 12-13 update man pages.\r
83 \r
84 \r
85 I've dropped most of the content in patches 7 and 10 due to their\r
86 size. The patches (and the whole series) are available in the\r
87 boolean-folder-and-path-v2 branch at\r
88 git://gitorious.org/jani/notmuch.git. Web interface at\r
89 https://gitorious.org/jani/notmuch/commits/0b3dd2d1cc6c413ea07ea326883ac448499c0e79.\r
90 \r
91 \r
92 WARNING! The change requires a database format version bump, and a\r
93 database upgrade, which is automatically done on 'notmuch new'. The\r
94 upgrade is irreversible if you want to try this on your database! A\r
95 complete database rebuild is required for reverting the database format\r
96 version. Make sure your backups are in order!\r
97 \r
98 \r
99 BR,\r
100 Jani.\r
101 \r
102 \r
103 Jani Nikula (13):\r
104   lib: refactor folder term update after filename removal\r
105   lib: add support for path: prefix searches\r
106   test: make insert test use the path: prefix\r
107   lib: make folder: prefix literal\r
108   test: fix test for literal folder: search\r
109   test: make it possible to have several corpora\r
110   test: add new corpus with folders\r
111   test: add tests for the new boolean folder: and path: prefixes\r
112   devel: add script to generate test databases\r
113   test: add test database in format version 1\r
114   test: add database upgrade test from format version 1 to 2\r
115   man: update man pages for folder: and path: search terms\r
116   man: try to clarify the folder: and path: vs. --output=files confusion\r
117 \r
118  devel/gen-testdb.sh                    | 124 ++++++++++++\r
119  lib/database.cc                        |  45 ++++-\r
120  lib/message.cc                         | 249 ++++++++++++++++-------\r
121  lib/notmuch-private.h                  |   3 +\r
122  man/man1/notmuch-search.1              |  10 +-\r
123  man/man7/notmuch-search-terms.7        |  28 ++-\r
124  test/.gitignore                        |   2 +-\r
125  test/Makefile.local                    |   2 +-\r
126  test/T070-insert.sh                    |  10 +-\r
127  test/T100-search-by-folder.sh          |  24 ++-\r
128  test/T101-search-by-folder-and-path.sh |  83 ++++++++\r
129  test/T480-hex-escaping.sh              |   4 +-\r
130  test/T530-upgrade.sh                   | 103 ++++++++++\r
131  test/corpus/{ => default}/cur/01:2,    |   0\r
132  test/corpus/{ => default}/cur/02:2,    |   0\r
133  test/corpus/{ => default}/cur/03:2,    |   0\r
134  test/corpus/{ => default}/cur/04:2,    |   0\r
135  test/corpus/{ => default}/cur/05:2,    |   0\r
136  test/corpus/{ => default}/cur/06:2,    |   0\r
137  test/corpus/{ => default}/cur/07:2,    |   0\r
138  test/corpus/{ => default}/cur/08:2,    |   0\r
139  test/corpus/{ => default}/cur/09:2,    |   0\r
140  test/corpus/{ => default}/cur/10:2,    |   0\r
141  test/corpus/{ => default}/cur/11:2,    |   0\r
142  test/corpus/{ => default}/cur/12:2,    |   0\r
143  test/corpus/{ => default}/cur/13:2,    |   0\r
144  test/corpus/{ => default}/cur/14:2,    |   0\r
145  test/corpus/{ => default}/cur/15:2,    |   0\r
146  test/corpus/{ => default}/cur/16:2,    |   0\r
147  test/corpus/{ => default}/cur/17:2,    |   0\r
148  test/corpus/{ => default}/cur/18:2,    |   0\r
149  test/corpus/{ => default}/cur/19:2,    |   0\r
150  test/corpus/{ => default}/cur/20:2,    |   0\r
151  test/corpus/{ => default}/cur/21:2,    |   0\r
152  test/corpus/{ => default}/cur/22:2,    |   0\r
153  test/corpus/{ => default}/cur/23:2,    |   0\r
154  test/corpus/{ => default}/cur/24:2,    |   0\r
155  test/corpus/{ => default}/cur/25:2,    |   0\r
156  test/corpus/{ => default}/cur/26:2,    |   0\r
157  test/corpus/{ => default}/cur/27:2,    |   0\r
158  test/corpus/{ => default}/cur/28:2,    |   0\r
159  test/corpus/{ => default}/cur/29:2,    |   0\r
160  test/corpus/{ => default}/cur/30:2,    |   0\r
161  test/corpus/{ => default}/cur/31:2,    |   0\r
162  test/corpus/{ => default}/cur/32:2,    |   0\r
163  test/corpus/{ => default}/cur/33:2,    |   0\r
164  test/corpus/{ => default}/cur/34:2,    |   0\r
165  test/corpus/{ => default}/cur/35:2,    |   0\r
166  test/corpus/{ => default}/cur/36:2,    |   0\r
167  test/corpus/{ => default}/cur/37:2,    |   0\r
168  test/corpus/{ => default}/cur/38:2,    |   0\r
169  test/corpus/{ => default}/cur/39:2,    |   0\r
170  test/corpus/{ => default}/cur/40:2,    |   0\r
171  test/corpus/{ => default}/cur/41:2,    |   0\r
172  test/corpus/{ => default}/cur/42:2,    |   0\r
173  test/corpus/{ => default}/cur/43:2,    |   0\r
174  test/corpus/{ => default}/cur/44:2,    |   0\r
175  test/corpus/{ => default}/cur/45:2,    |   0\r
176  test/corpus/{ => default}/cur/46:2,    |   0\r
177  test/corpus/{ => default}/cur/47:2,    |   0\r
178  test/corpus/{ => default}/cur/48:2,    |   0\r
179  test/corpus/{ => default}/cur/49:2,    |   0\r
180  test/corpus/{ => default}/cur/50:2,    |   0\r
181  test/corpus/{ => default}/cur/51:2,    |   0\r
182  test/corpus/{ => default}/cur/52:2,    |   0\r
183  test/corpus/{ => default}/cur/53:2,    |   0\r
184  test/corpus/folders/01:2,              |  34 ++++\r
185  test/corpus/folders/02:2,              |  32 +++\r
186  test/corpus/folders/bar/17:2,          |  23 +++\r
187  test/corpus/folders/bar/18:2,          |  12 ++\r
188  test/corpus/folders/bar/baz/05:2,      | 104 ++++++++++\r
189  test/corpus/folders/bar/baz/23:2,      | 145 +++++++++++++\r
190  test/corpus/folders/bar/baz/24:2,      | 204 +++++++++++++++++++\r
191  test/corpus/folders/bar/baz/cur/25:2,  |  32 +++\r
192  test/corpus/folders/bar/baz/cur/26:2,  | 121 +++++++++++\r
193  test/corpus/folders/bar/baz/new/27:2,  |  21 ++\r
194  test/corpus/folders/bar/baz/new/28:2,  |  38 ++++\r
195  test/corpus/folders/bar/cur/19:2,      | 360 +++++++++++++++++++++++++++++++++\r
196  test/corpus/folders/bar/cur/20:2,      | 101 +++++++++\r
197  test/corpus/folders/bar/new/21:2,      | 102 ++++++++++\r
198  test/corpus/folders/bar/new/22:2,      |  84 ++++++++\r
199  test/corpus/folders/cur/29:2,          |  21 ++\r
200  test/corpus/folders/cur/30:2,          |  75 +++++++\r
201  test/corpus/folders/cur/31:2,          |  31 +++\r
202  test/corpus/folders/cur/32:2,          | 165 +++++++++++++++\r
203  test/corpus/folders/cur/33:2,          |  13 ++\r
204  test/corpus/folders/cur/34:2,          |  46 +++++\r
205  test/corpus/folders/cur/35:2,          |  24 +++\r
206  test/corpus/folders/cur/36:2,          |  25 +++\r
207  test/corpus/folders/cur/37:2,          |  22 ++\r
208  test/corpus/folders/cur/38:2,          |  40 ++++\r
209  test/corpus/folders/cur/39:2,          |  32 +++\r
210  test/corpus/folders/cur/40:2,          |  31 +++\r
211  test/corpus/folders/cur/41:2,          |  37 ++++\r
212  test/corpus/folders/cur/42:2,          |  30 +++\r
213  test/corpus/folders/cur/43:2,          |  26 +++\r
214  test/corpus/folders/cur/44:2,          |  29 +++\r
215  test/corpus/folders/cur/45:2,          |  41 ++++\r
216  test/corpus/folders/cur/46:2,          |  57 ++++++\r
217  test/corpus/folders/cur/47:2,          |  84 ++++++++\r
218  test/corpus/folders/cur/48:2,          |  17 ++\r
219  test/corpus/folders/cur/49:2,          |  33 +++\r
220  test/corpus/folders/cur/50:2,          |  39 ++++\r
221  test/corpus/folders/cur/52:2,          |  39 ++++\r
222  test/corpus/folders/cur/53:2,          |  20 ++\r
223  test/corpus/folders/foo/05:2,          | 104 ++++++++++\r
224  test/corpus/folders/foo/06:2,          |  36 ++++\r
225  test/corpus/folders/foo/baz/11:2,      |  27 +++\r
226  test/corpus/folders/foo/baz/12:2,      |  27 +++\r
227  test/corpus/folders/foo/baz/cur/13:2,  | 178 ++++++++++++++++\r
228  test/corpus/folders/foo/baz/cur/14:2,  |  39 ++++\r
229  test/corpus/folders/foo/baz/new/15:2,  |  22 ++\r
230  test/corpus/folders/foo/baz/new/16:2,  |  27 +++\r
231  test/corpus/folders/foo/cur/07:2,      |  57 ++++++\r
232  test/corpus/folders/foo/cur/08:2,      |  87 ++++++++\r
233  test/corpus/folders/foo/new/03:2,      |  93 +++++++++\r
234  test/corpus/folders/foo/new/09:2,      |  33 +++\r
235  test/corpus/folders/foo/new/10:2,      |  54 +++++\r
236  test/corpus/folders/new/03:2,          |  93 +++++++++\r
237  test/corpus/folders/new/04:2,          |  84 ++++++++\r
238  test/notmuch-test                      |   2 +-\r
239  test/test-databases/README             |   5 +\r
240  test/test-databases/database-v1.tar.gz | Bin 0 -> 262063 bytes\r
241  test/test-lib.sh                       |  21 +-\r
242  124 files changed, 3954 insertions(+), 112 deletions(-)\r
243  create mode 100755 devel/gen-testdb.sh\r
244  create mode 100755 test/T101-search-by-folder-and-path.sh\r
245  create mode 100755 test/T530-upgrade.sh\r
246  rename test/corpus/{ => default}/cur/01:2, (100%)\r
247  rename test/corpus/{ => default}/cur/02:2, (100%)\r
248  rename test/corpus/{ => default}/cur/03:2, (100%)\r
249  rename test/corpus/{ => default}/cur/04:2, (100%)\r
250  rename test/corpus/{ => default}/cur/05:2, (100%)\r
251  rename test/corpus/{ => default}/cur/06:2, (100%)\r
252  rename test/corpus/{ => default}/cur/07:2, (100%)\r
253  rename test/corpus/{ => default}/cur/08:2, (100%)\r
254  rename test/corpus/{ => default}/cur/09:2, (100%)\r
255  rename test/corpus/{ => default}/cur/10:2, (100%)\r
256  rename test/corpus/{ => default}/cur/11:2, (100%)\r
257  rename test/corpus/{ => default}/cur/12:2, (100%)\r
258  rename test/corpus/{ => default}/cur/13:2, (100%)\r
259  rename test/corpus/{ => default}/cur/14:2, (100%)\r
260  rename test/corpus/{ => default}/cur/15:2, (100%)\r
261  rename test/corpus/{ => default}/cur/16:2, (100%)\r
262  rename test/corpus/{ => default}/cur/17:2, (100%)\r
263  rename test/corpus/{ => default}/cur/18:2, (100%)\r
264  rename test/corpus/{ => default}/cur/19:2, (100%)\r
265  rename test/corpus/{ => default}/cur/20:2, (100%)\r
266  rename test/corpus/{ => default}/cur/21:2, (100%)\r
267  rename test/corpus/{ => default}/cur/22:2, (100%)\r
268  rename test/corpus/{ => default}/cur/23:2, (100%)\r
269  rename test/corpus/{ => default}/cur/24:2, (100%)\r
270  rename test/corpus/{ => default}/cur/25:2, (100%)\r
271  rename test/corpus/{ => default}/cur/26:2, (100%)\r
272  rename test/corpus/{ => default}/cur/27:2, (100%)\r
273  rename test/corpus/{ => default}/cur/28:2, (100%)\r
274  rename test/corpus/{ => default}/cur/29:2, (100%)\r
275  rename test/corpus/{ => default}/cur/30:2, (100%)\r
276  rename test/corpus/{ => default}/cur/31:2, (100%)\r
277  rename test/corpus/{ => default}/cur/32:2, (100%)\r
278  rename test/corpus/{ => default}/cur/33:2, (100%)\r
279  rename test/corpus/{ => default}/cur/34:2, (100%)\r
280  rename test/corpus/{ => default}/cur/35:2, (100%)\r
281  rename test/corpus/{ => default}/cur/36:2, (100%)\r
282  rename test/corpus/{ => default}/cur/37:2, (100%)\r
283  rename test/corpus/{ => default}/cur/38:2, (100%)\r
284  rename test/corpus/{ => default}/cur/39:2, (100%)\r
285  rename test/corpus/{ => default}/cur/40:2, (100%)\r
286  rename test/corpus/{ => default}/cur/41:2, (100%)\r
287  rename test/corpus/{ => default}/cur/42:2, (100%)\r
288  rename test/corpus/{ => default}/cur/43:2, (100%)\r
289  rename test/corpus/{ => default}/cur/44:2, (100%)\r
290  rename test/corpus/{ => default}/cur/45:2, (100%)\r
291  rename test/corpus/{ => default}/cur/46:2, (100%)\r
292  rename test/corpus/{ => default}/cur/47:2, (100%)\r
293  rename test/corpus/{ => default}/cur/48:2, (100%)\r
294  rename test/corpus/{ => default}/cur/49:2, (100%)\r
295  rename test/corpus/{ => default}/cur/50:2, (100%)\r
296  rename test/corpus/{ => default}/cur/51:2, (100%)\r
297  rename test/corpus/{ => default}/cur/52:2, (100%)\r
298  rename test/corpus/{ => default}/cur/53:2, (100%)\r
299  create mode 100644 test/corpus/folders/01:2,\r
300  create mode 100644 test/corpus/folders/02:2,\r
301  create mode 100644 test/corpus/folders/bar/17:2,\r
302  create mode 100644 test/corpus/folders/bar/18:2,\r
303  create mode 100644 test/corpus/folders/bar/baz/05:2,\r
304  create mode 100644 test/corpus/folders/bar/baz/23:2,\r
305  create mode 100644 test/corpus/folders/bar/baz/24:2,\r
306  create mode 100644 test/corpus/folders/bar/baz/cur/25:2,\r
307  create mode 100644 test/corpus/folders/bar/baz/cur/26:2,\r
308  create mode 100644 test/corpus/folders/bar/baz/new/27:2,\r
309  create mode 100644 test/corpus/folders/bar/baz/new/28:2,\r
310  create mode 100644 test/corpus/folders/bar/cur/19:2,\r
311  create mode 100644 test/corpus/folders/bar/cur/20:2,\r
312  create mode 100644 test/corpus/folders/bar/new/21:2,\r
313  create mode 100644 test/corpus/folders/bar/new/22:2,\r
314  create mode 100644 test/corpus/folders/cur/29:2,\r
315  create mode 100644 test/corpus/folders/cur/30:2,\r
316  create mode 100644 test/corpus/folders/cur/31:2,\r
317  create mode 100644 test/corpus/folders/cur/32:2,\r
318  create mode 100644 test/corpus/folders/cur/33:2,\r
319  create mode 100644 test/corpus/folders/cur/34:2,\r
320  create mode 100644 test/corpus/folders/cur/35:2,\r
321  create mode 100644 test/corpus/folders/cur/36:2,\r
322  create mode 100644 test/corpus/folders/cur/37:2,\r
323  create mode 100644 test/corpus/folders/cur/38:2,\r
324  create mode 100644 test/corpus/folders/cur/39:2,\r
325  create mode 100644 test/corpus/folders/cur/40:2,\r
326  create mode 100644 test/corpus/folders/cur/41:2,\r
327  create mode 100644 test/corpus/folders/cur/42:2,\r
328  create mode 100644 test/corpus/folders/cur/43:2,\r
329  create mode 100644 test/corpus/folders/cur/44:2,\r
330  create mode 100644 test/corpus/folders/cur/45:2,\r
331  create mode 100644 test/corpus/folders/cur/46:2,\r
332  create mode 100644 test/corpus/folders/cur/47:2,\r
333  create mode 100644 test/corpus/folders/cur/48:2,\r
334  create mode 100644 test/corpus/folders/cur/49:2,\r
335  create mode 100644 test/corpus/folders/cur/50:2,\r
336  create mode 100644 test/corpus/folders/cur/52:2,\r
337  create mode 100644 test/corpus/folders/cur/53:2,\r
338  create mode 100644 test/corpus/folders/foo/05:2,\r
339  create mode 100644 test/corpus/folders/foo/06:2,\r
340  create mode 100644 test/corpus/folders/foo/baz/11:2,\r
341  create mode 100644 test/corpus/folders/foo/baz/12:2,\r
342  create mode 100644 test/corpus/folders/foo/baz/cur/13:2,\r
343  create mode 100644 test/corpus/folders/foo/baz/cur/14:2,\r
344  create mode 100644 test/corpus/folders/foo/baz/new/15:2,\r
345  create mode 100644 test/corpus/folders/foo/baz/new/16:2,\r
346  create mode 100644 test/corpus/folders/foo/cur/07:2,\r
347  create mode 100644 test/corpus/folders/foo/cur/08:2,\r
348  create mode 100644 test/corpus/folders/foo/new/03:2,\r
349  create mode 100644 test/corpus/folders/foo/new/09:2,\r
350  create mode 100644 test/corpus/folders/foo/new/10:2,\r
351  create mode 100644 test/corpus/folders/new/03:2,\r
352  create mode 100644 test/corpus/folders/new/04:2,\r
353  create mode 100644 test/test-databases/README\r
354  create mode 100644 test/test-databases/database-v1.tar.gz\r
355 \r
356 -- \r
357 1.8.5.3\r
358 \r