notmuch clon
Find a file
David Bremner 66ccf420c2 CLI/git: cache git indices
If the private index file matches a previously known revision of the
database, we can update the index incrementally using the recorded
lastmod counter. This is typically much faster than a full update,
although it could be slower in the case of large changes to the
database.

The "git-read-tree HEAD" is also a bottleneck, but unfortunately
sometimes is needed. Cache the index checksum and hash to reduce the
number of times the operation is run. The overall design is a
simplified version of the PrivateIndex class.
2022-06-17 08:40:19 -03:00
bindings
compat compat: rename {,notmuch_}canonicalize_file_name 2021-04-24 08:07:00 -03:00
completion
contrib
debian debian: changelog for 0.36-1 2022-04-25 08:48:07 -03:00
devel nmbug: promote to user tool "notmuch-git" 2022-06-17 08:40:19 -03:00
doc
emacs emacs: use message-dont-reply-to-names when composing replies 2022-06-16 08:51:19 -03:00
lib lib/message: use false from stdbool.h 2022-05-26 08:30:00 -03:00
packaging
parse-time-string emacs: Use makefile-gmake-mode in Makefile*s 2020-08-09 21:14:36 -03:00
performance-test
test CLI/git: cache git indices 2022-06-17 08:40:19 -03:00
util config: ignore leading/trailing spaces in ';'-delimited lists 2021-12-04 12:16:12 -04:00
vim Revert "Vim: Ensure that every queries respect excluded tags" 2021-04-27 20:34:53 -03:00
.dir-locals.el
.gitignore
.mailmap
.travis.yml
AUTHORS
command-line-arguments.c
command-line-arguments.h
configure
COPYING
COPYING-GPL-3
debugger.c
gmime-filter-reply.c
gmime-filter-reply.h CLI: centralize initialization in notmuch_client_init 2021-05-14 06:40:37 -03:00
hooks.c
INSTALL INSTALL: document optional dependency on libsfsexp 2021-10-15 08:49:01 -03:00
Makefile
Makefile.global
Makefile.local nmbug: promote to user tool "notmuch-git" 2022-06-17 08:40:19 -03:00
mime-node.c
NEWS
notmuch-client-init.c CLI: add missing file notmuch-client-init 2021-05-15 08:14:37 -03:00
notmuch-client.h
notmuch-compact.c
notmuch-config.c
notmuch-count.c
notmuch-dump.c CLI/{count, dump, reindex, reply, show}: enable sexp queries 2021-09-04 17:07:19 -07:00
notmuch-git.py
notmuch-insert.c CLI/insert: escape envelope from 2022-02-19 22:11:35 -04:00
notmuch-new.c cli/new: only ignore .notmuch at top level 2022-01-16 10:52:13 -04:00
notmuch-reindex.c
notmuch-reply.c
notmuch-restore.c
notmuch-search.c
notmuch-setup.c CLI: make variable n_requested_db_uuid file scope. 2021-09-04 17:07:19 -07:00
notmuch-show.c
notmuch-tag.c
notmuch-time.c
notmuch.c
query-string.c
README
README.rst
sprinter-json.c
sprinter-sexp.c
sprinter-text.c
sprinter.h
status.c
tag-util.c
tag-util.h
version.txt

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:

	(autoload 'notmuch "notmuch" "Notmuch mail" t)

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:

	https://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.libera.chat
	Channel:	#notmuch