[PATCH v4 00/13] boolean folder: and path: searches

Jani Nikula jani at nikula.org
Sun Mar 9 14:40:21 PDT 2014


This is v4 of id:1394313585-28422-1-git-send-email-david at tethera.net.

Changes since v3, mostly addressing Austin's review and comments on IRC:

* Removed the extra corpus for folder tests. Instead, arranged the
  existing corpus into more folders. (Patch 01.)

* Changed the folder/path tests to reflect the above, and incorporated
  them into existing folder tests instead of adding a new one. (Patch
  07.)

* Added a new patch to do notmuch_search_files_sanitize. (Patch 02.)

* Folded test updates to folder: update to make tests pass at every
  commit. (Patch 06.)

* Fixed indent fails and added comment about XFOLDER: prefix,
  spotted/suggested by Austin. (Patch 06.)

* Used Austin's man page suggestion verbatim, but this may have to be
  redone if David's documentation changes get merged first. (Patch 09.)

* Fixed a stray make dependency. (Patch 13.)

* Notably *no* functional code changes.

Finally, take heed of David's warning id:874n37a017.fsf at zancas.localnet.

BR,
Jani.


David Bremner (2):
  test: commit folders-v1.tar.xz checksum, ignore actual databases
  test: add machinery to download and verify databases

Jani Nikula (11):
  test: rearrange the test corpus into subfolders
  test: add notmuch_search_files_sanitize and use it
  lib: refactor folder term update after filename removal
  lib: add support for path: prefix searches
  test: make insert test use the path: prefix
  lib: make folder: prefix literal
  test: add tests for the new boolean folder: and path: prefixes
  test: add database upgrade test from format version 1 to 2
  man: update man pages for folder: and path: search terms
  man: try to clarify the folder: and path: vs. --output=files confusion
  devel: add script to generate test databases

 Makefile                                     |   3 +-
 devel/gen-testdb.sh                          | 131 ++++++++++++++
 lib/database.cc                              |  51 +++++-
 lib/message.cc                               | 249 ++++++++++++++++++---------
 lib/notmuch-private.h                        |   3 +
 man/man1/notmuch-search.1                    |  10 +-
 man/man7/notmuch-search-terms.7              |  41 ++++-
 test/README                                  |   8 +
 test/T070-insert.sh                          |  10 +-
 test/T090-search-output.sh                   | 176 +++++++++----------
 test/T100-search-by-folder.sh                | 117 ++++++++++++-
 test/T370-search-folder-coherence.sh         |   2 +-
 test/T530-upgrade.sh                         | 115 +++++++++++++
 test/corpus/{cur => }/01:2,                  |   0
 test/corpus/{cur => }/02:2,                  |   0
 test/corpus/{cur => bar}/17:2,               |   0
 test/corpus/{cur => bar}/18:2,               |   0
 test/corpus/{cur => bar/baz}/05:2,           |   0
 test/corpus/{cur => bar/baz}/23:2,           |   0
 test/corpus/{cur => bar/baz}/24:2,           |   0
 test/corpus/{ => bar/baz}/cur/25:2,          |   0
 test/corpus/{ => bar/baz}/cur/26:2,          |   0
 test/corpus/{cur => bar/baz/new}/27:2,       |   0
 test/corpus/{cur => bar/baz/new}/28:2,       |   0
 test/corpus/{ => bar}/cur/19:2,              |   0
 test/corpus/{ => bar}/cur/20:2,              |   0
 test/corpus/{cur => bar/new}/21:2,           |   0
 test/corpus/{cur => bar/new}/22:2,           |   0
 test/corpus/{cur => foo}/06:2,               |   0
 test/corpus/{cur => foo/baz}/11:2,           |   0
 test/corpus/{cur => foo/baz}/12:2,           |   0
 test/corpus/{ => foo/baz}/cur/13:2,          |   0
 test/corpus/{ => foo/baz}/cur/14:2,          |   0
 test/corpus/{cur => foo/baz/new}/15:2,       |   0
 test/corpus/{cur => foo/baz/new}/16:2,       |   0
 test/corpus/{ => foo}/cur/07:2,              |   0
 test/corpus/{ => foo}/cur/08:2,              |   0
 test/corpus/{cur => foo/new}/03:2,           |   0
 test/corpus/{cur => foo/new}/09:2,           |   0
 test/corpus/{cur => foo/new}/10:2,           |   0
 test/corpus/{cur => new}/04:2,               |   0
 test/test-databases/.gitignore               |   1 +
 test/test-databases/Makefile                 |   7 +
 test/test-databases/Makefile.local           |  14 ++
 test/test-databases/folders-v1.tar.xz.sha256 |   1 +
 test/test-lib.sh                             |   5 +
 46 files changed, 753 insertions(+), 191 deletions(-)
 create mode 100755 devel/gen-testdb.sh
 create mode 100755 test/T530-upgrade.sh
 rename test/corpus/{cur => }/01:2, (100%)
 rename test/corpus/{cur => }/02:2, (100%)
 rename test/corpus/{cur => bar}/17:2, (100%)
 rename test/corpus/{cur => bar}/18:2, (100%)
 rename test/corpus/{cur => bar/baz}/05:2, (100%)
 rename test/corpus/{cur => bar/baz}/23:2, (100%)
 rename test/corpus/{cur => bar/baz}/24:2, (100%)
 rename test/corpus/{ => bar/baz}/cur/25:2, (100%)
 rename test/corpus/{ => bar/baz}/cur/26:2, (100%)
 rename test/corpus/{cur => bar/baz/new}/27:2, (100%)
 rename test/corpus/{cur => bar/baz/new}/28:2, (100%)
 rename test/corpus/{ => bar}/cur/19:2, (100%)
 rename test/corpus/{ => bar}/cur/20:2, (100%)
 rename test/corpus/{cur => bar/new}/21:2, (100%)
 rename test/corpus/{cur => bar/new}/22:2, (100%)
 rename test/corpus/{cur => foo}/06:2, (100%)
 rename test/corpus/{cur => foo/baz}/11:2, (100%)
 rename test/corpus/{cur => foo/baz}/12:2, (100%)
 rename test/corpus/{ => foo/baz}/cur/13:2, (100%)
 rename test/corpus/{ => foo/baz}/cur/14:2, (100%)
 rename test/corpus/{cur => foo/baz/new}/15:2, (100%)
 rename test/corpus/{cur => foo/baz/new}/16:2, (100%)
 rename test/corpus/{ => foo}/cur/07:2, (100%)
 rename test/corpus/{ => foo}/cur/08:2, (100%)
 rename test/corpus/{cur => foo/new}/03:2, (100%)
 rename test/corpus/{cur => foo/new}/09:2, (100%)
 rename test/corpus/{cur => foo/new}/10:2, (100%)
 rename test/corpus/{cur => new}/04:2, (100%)
 create mode 100644 test/test-databases/.gitignore
 create mode 100644 test/test-databases/Makefile
 create mode 100644 test/test-databases/Makefile.local
 create mode 100644 test/test-databases/folders-v1.tar.xz.sha256

-- 
1.9.0



More information about the notmuch mailing list