notmuch/lib
Michal Sojka 088801a14a Maildir synchronization
This patch allows bi-directional synchronization between maildir
flags and certain tags. The flag-to-tag mapping is defined by flag2tag
array.

The synchronization works this way:

1) Whenever notmuch new is executed, the following happens:
   o New messages are tagged with configured new_tags.
   o For new or renamed messages with maildir info present in the file
     name, the tags defined in flag2tag are either added or removed
     depending on the flags from the file name.

2) Whenever notmuch tag (or notmuch restore) is executed, a new set of
   flags based on the tags is constructed for every message and a new
   file name is prepared based on the old file name but with the new
   flags. If the flags differs and the old message was in 'new'
   directory then this is replaced with 'cur' in the new file name. If
   the new and old file names differ, the file is renamed and notmuch
   database is updated accordingly.

   The rename happens before the database is updated. In case of crash
   between rename and database update, the next run of notmuch new
   brings the database in sync with the mail store again.
2010-11-10 13:09:31 -08:00
..
database-private.h lib: Add GCC visibility(hidden) pragmas to private header files. 2010-11-01 22:35:48 -07:00
database.cc Maildir synchronization 2010-11-10 13:09:31 -08:00
directory.cc lib: Eliminate some redundant includes of xapian.h 2010-11-01 23:24:40 -07:00
index.cc lib: Add some missing static qualifiers. 2010-11-01 21:58:43 -07:00
libsha1.c libify: Move library sources down into lib directory. 2009-11-09 16:24:03 -08:00
libsha1.h lib: Add GCC visibility(hidden) pragmas to private header files. 2010-11-01 22:35:48 -07:00
Makefile Makefiles: Use .DEFAULT to support arbitrary targets from sub directories. 2010-01-06 10:32:06 -08:00
Makefile.local Update library version to 1.2.0 2010-11-01 16:13:44 -07:00
message-file.c Make Received: header special in notmuch_message_file_get_header 2010-04-26 14:44:06 -07:00
message.cc Maildir synchronization 2010-11-10 13:09:31 -08:00
messages.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-private.h Maildir synchronization 2010-11-10 13:09:31 -08:00
notmuch.h Maildir synchronization 2010-11-10 13:09:31 -08:00
query.cc lib: Eliminate some redundant includes of xapian.h 2010-11-01 23:24:40 -07:00
sha1.c Typsos 2009-11-18 03:21:36 -08:00
tags.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
thread.cc lib: Eliminate some redundant includes of xapian.h 2010-11-01 23:24:40 -07:00
xutil.c xutil: Implement xstrndup without relying on strndup. 2009-12-01 12:51:39 -08:00
xutil.h lib: Add GCC visibility(hidden) pragmas to private header files. 2010-11-01 22:35:48 -07:00