notmuch clon
Find a file
Dmitry Kurochkin 1ffb382961 test: make test_expect_equal_file() arguments flexible
Before the change, test_expect_equal_file() function treated the first
argument as "actual output file" and the second argument as "expected
output file".  When the test fails, the files are copied for later
inspection.  The first files was copied to "$testname.output" and the
second file to "$testname.expected".  The argument order for
test_expect_equal_file() is often wrong which results in confusing
diff output and incorrectly named files.

The patch solves the issue by changing test_expect_equal_file() to
treat arguments just as two files, without any special properties
(like "actual" and "expected").  The file names for copying is now
based on the given file name: "$testname.$file1" and
"$testname.$file2".  E.g. if test_expect_equal_file() is called with
"OUTPUT" and "EXPECTED", the copied files can be named
"emacs.1.OUTPUT" and "emacs.1.EXPECTED".

The down side of this approach is that diff argument order depends on
test_expect_equal_file() argument order.  So sometimes we get diff
from expected to actual results, and sometimes the other way around.
But the files are always named correctly.
2012-09-01 23:09:26 -03:00
bindings version: propagate version changes 2012-08-21 10:43:49 +02:00
compat Silence buildbot warnings about unused results 2012-01-21 08:49:50 -04:00
completion fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
contrib contrib/nmbug/nmbug-status: if realname empty, use part of mailaddr 2012-09-01 22:58:49 -03:00
debian debian: mention some upstream news in changelog 2012-08-21 10:43:50 +02:00
devel schemata: update for --body=true|false option 2012-07-24 15:49:33 -03:00
emacs emacs: correct notmuch-search-mode's docstring wrt notmuch-search-tag-all' 2012-09-01 23:08:52 -03:00
lib lib: fix NULL checks for filenames iterators 2012-09-01 23:03:11 -03:00
man version: propagate version changes 2012-08-21 10:43:49 +02:00
packaging fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
test test: make test_expect_equal_file() arguments flexible 2012-09-01 23:09:26 -03:00
util Fix dependency generation for compat, test, and util 2012-01-19 09:19:12 -04:00
vim vim: simplify build 2012-04-21 05:19:30 +03:00
.dir-locals.el .dir-locals.el: changed one-char comment prefix '; ' to two; '; ; ' 2012-01-22 08:41:37 -04:00
.gitignore fix .gitignore for gzipped man pages 2012-01-17 14:52:31 -04:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
command-line-arguments.c cli: make the command line parser's errors more informative. 2012-09-01 23:03:36 -03:00
command-line-arguments.h command-line-arguments.[ch]: make arrays of keyword descriptors const 2011-12-13 00:00:44 -04:00
configure configure: check whether shell is capable of parameter substring processing 2012-07-25 08:17:24 -03:00
COPYING Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
COPYING-GPL-3 Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
crypto.c cli: new crypto structure to store crypto contexts and parameters, and functions to support it 2012-06-10 20:05:02 -03:00
debugger.c notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
gmime-filter-headers.c notmuch: Fix off-by-one errors if a header is >200 characters long. 2010-06-01 16:09:29 -07:00
gmime-filter-headers.h fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07:00
gmime-filter-reply.c Filter out carriage-returns in show and reply output. 2009-11-18 23:34:43 +01:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
hooks.c cli: introduce the concept of user defined hooks 2011-12-11 13:57:31 -04:00
INSTALL Recommend libgmime-2.6-dev in INSTALL 2012-05-24 21:54:30 -03:00
Makefile build-system: update for split man pages 2011-12-31 15:16:32 -04:00
Makefile.local cli: Remove now-unused json.c 2012-08-12 21:28:08 +02:00
mime-node.c cli: use new notmuch_crypto_get_context in mime-node.c 2012-06-10 20:09:42 -03:00
NEWS NEWS: 2 minor consistency changes in sections 0.13.1 and 0.13.2 2012-08-29 19:00:06 -03:00
notmuch-client.h show: Remove now unused fields from notmuch_show_format 2012-08-03 20:40:01 -03:00
notmuch-config.c config: Add 'config list' command 2012-04-28 10:45:31 -03:00
notmuch-count.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-dump.c notmuch-dump: remove deprecated positional argument for output file 2012-08-06 08:52:33 -03:00
notmuch-new.c new: Unify add_files and add_files_recursive 2012-05-24 21:53:38 -03:00
notmuch-reply.c reply: Convert JSON format to use sprinter 2012-08-12 21:29:38 +02:00
notmuch-restore.c notmuch-restore: replace positional argument for input with option 2012-08-06 08:52:45 -03:00
notmuch-search.c Use the structured formatters in notmuch-search.c. 2012-07-24 09:27:09 -03:00
notmuch-setup.c Make exclusion visible again 2012-03-03 11:56:47 -04:00
notmuch-show.c show: Remove now unused fields from notmuch_show_format 2012-08-03 20:40:01 -03:00
notmuch-tag.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.c notmuch: replace built-in help with exec of man 2011-12-31 15:16:32 -04:00
notmuch.desktop notmuch.desktop: Clarify that this is the emacs interface to notmuch. 2010-01-24 07:30:08 +13:00
query-string.c notmuch: Break notmuch.c up into several smaller files. 2009-11-10 12:03:05 -08:00
README INSTALL/README: Clean up the description of how to run the emacs interface. 2010-06-01 10:51:42 -07:00
sprinter-json.c sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
sprinter-text.c sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
sprinter.h sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
version version: bump primary version 2012-08-20 13:53:50 +02:00

Notmuch - thread-based email index, search and tagging.

Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
the Xapian library to provide fast, full-text search with a convenient
search syntax.

Notmuch is free software, released under the GNU General Public
License version 3 (or later).

Building notmuch
----------------
See the INSTALL file for notes on compiling and installing notmuch.

Running notmuch
---------------
After installing notmuch, start by running "notmuch setup" which will
interactively prompt for configuration information such as your name,
email address, and the directory which contains your mail archive to
be indexed. You can change any answers later by running "notmuch
setup" again or by editing the .notmuch-config file in your home
directory.

With notmuch configured you should next run "notmuch new" which will
index all of your existing mail. This can take a long time, (several
hours) if you have a lot of email, (hundreds of thousands of
files). When new mail is delivered to your mail archive in the future,
you will want to run "notmuch new" again. These runs will be much
faster as they will only index new messages.

Finally, you can prove to yourself that things are working by running
some command-line searches such as "notmuch search
from:someone@example.com" or "notmuch search subject:topic". See
"notmuch help search-terms" for more details on the available search
syntax.

The command-line search output is not expected to be particularly
friendly for day-to-day usage. Instead, it is expected that you will
use an email interface that builds on the notmuch command-line tool or
the libnotmuch library.

Notmuch installs a full-featured email interface for use within
emacs. To use this, first add the following line to your .emacs file:

	(require 'notmuch)

Then, either run "emacs -f notmuch" or execute the command "M-x
notmuch" from within a running emacs.

If you're interested in a non-emacs-based interface to notmuch, then
please join the notmuch community. Various other interfaces are
already in progress, (an interface within vim, a curses interface,
graphical interfaces based on evolution, and various web-based
interfaces). The authors of these interfaces would love further
testing or contribution. See contact information below.

Contacting users and developers
-------------------------------
The website for Notmuch is:

	http://notmuchmail.org

The mailing list address for the notmuch community is:

	notmuch@notmuchmail.org

We welcome any sort of questions, comments, kudos, or code there.

Subscription is not required, (but if you do subscribe you'll avoid
any delay due to moderation). See the website for subscription
information.

There is also an IRC channel dedicated to talk about using and
developing notmuch:

	IRC server:	irc.freenode.net
	Channel:	#notmuch