notmuch clon
Find a file
David Bremner 5c7990f251 tag-util: optimization of tag application
The idea is not to bother with restore operations if they don't change
the set of tags. This is actually a relatively common case.

In order to avoid fancy datastructures, this method is quadratic in
the number of tags; at least on my mail database this doesn't seem to
be a big problem.
2012-12-09 13:33:34 -04:00
bindings version: propagate version changes 2012-08-21 10:43:49 +02:00
compat Extend compat/README 2012-09-27 12:51:01 -03:00
completion fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
contrib contrib: pick: use notmuch-clean-address 2012-12-03 07:34:31 -04:00
debian Fixed 2 misspellings of word 'separate' 2012-11-16 15:50:55 -04:00
devel Use the S-Expression structured printer in notmuch-show, notmuch-reply and notmuch-search. 2012-12-08 09:30:19 -04:00
emacs emacs: show: refresh buffer did not remove overlays 2012-12-06 17:13:23 -04:00
lib lib: fix warnings when building with clang 2012-12-01 08:10:32 -04:00
man notmuch-{dump,restore}.1: document new format options 2012-12-09 13:33:34 -04:00
packaging fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
parse-time-string parse-time-string: add a date/time parser to notmuch 2012-10-31 16:42:29 -03:00
performance-test performance-test: add units to In and Out 2012-11-29 09:28:46 -04:00
test test/dump-restore: add test for warning/error messages 2012-12-09 13:33:34 -04:00
util util: add string-util.[ch] 2012-12-08 10:56:11 -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: really expand libdir_expanded 2012-12-01 08:04:30 -04: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
dump-restore-private.h notmuch-dump: add --format=(batch-tag|sup) 2012-12-08 10:40:54 -04: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 test: initial performance testing infrastructure 2012-11-26 08:39:21 -04:00
Makefile.local tag-util.[ch]: New files for common tagging routines 2012-12-09 13:33:34 -04:00
mime-node.c Avoid potentially dereferencing a NULL pointer 2012-09-27 12:52:34 -03:00
NEWS NEWS: removal of notmuch-folders 2012-12-06 17:14:10 -04:00
notmuch-client.h Rename the -json printer functions in notmuch-reply and notmuch-show to generic -sprinter functions. 2012-12-08 09:28:19 -04: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: add --format=(batch-tag|sup) 2012-12-08 10:40:54 -04:00
notmuch-new.c cli: convert "notmuch new" to the argument parser 2012-12-04 09:10:33 -04:00
notmuch-reply.c Use the S-Expression structured printer in notmuch-show, notmuch-reply and notmuch-search. 2012-12-08 09:30:19 -04:00
notmuch-restore.c notmuch-restore: normalize case of error messages. 2012-12-09 13:33:34 -04:00
notmuch-search.c Use the S-Expression structured printer in notmuch-show, notmuch-reply and notmuch-search. 2012-12-08 09:30:19 -04:00
notmuch-setup.c Make exclusion visible again 2012-03-03 11:56:47 -04:00
notmuch-show.c Use the S-Expression structured printer in notmuch-show, notmuch-reply and notmuch-search. 2012-12-08 09:30:19 -04:00
notmuch-tag.c notmuch-tag: tidy formatting 2012-11-16 08:45:39 -04:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.c cli: fix notmuch top level argument parsing 2012-12-04 09:10:19 -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-sexp.c Adding an S-expression structured output printer. 2012-12-08 09:26:29 -04:00
sprinter-text.c sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
sprinter.h Adding an S-expression structured output printer. 2012-12-08 09:26:29 -04:00
tag-util.c tag-util: optimization of tag application 2012-12-09 13:33:34 -04:00
tag-util.h tag-util.[ch]: New files for common tagging routines 2012-12-09 13:33:34 -04: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