<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/database.cc, branch 0.6</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.6</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.6'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-03-21T06:45:18Z</updated>
<entry>
<title>Add a generic function to get a list of terms with some prefix.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T05:32:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=206938ec9b4ddee28793f2f052a5314d6d7ab08d'/>
<id>urn:sha1:206938ec9b4ddee28793f2f052a5314d6d7ab08d</id>
<content type='text'>
Replace _notmuch_convert_tags with this and simplify
_create_filenames_for_terms_with_prefix.  This will also come in handy
shortly to get the message file name list.
</content>
</entry>
<entry>
<title>Implement an internal generic string list and use it.</title>
<updated>2011-03-21T06:45:18Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@mit.edu</email>
</author>
<published>2010-12-09T00:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f3c1eebfaf8526129ae6946cbcd44a3c602563d6'/>
<id>urn:sha1:f3c1eebfaf8526129ae6946cbcd44a3c602563d6</id>
<content type='text'>
This replaces the guts of the filename list and tag list, making those
interfaces simple iterators over the generic string list.  The
directory, message filename, and tags-related code now build generic
string lists and then wraps them in specific iterators.  The real wins
come in later patches, when we use these for even more generic
functionality.

As a nice side-effect, this also eliminates the annoying dependency on
GList in the tag list.
</content>
</entry>
<entry>
<title>Add support for folder-based searching.</title>
<updated>2011-01-15T23:37:43Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-01-15T22:09:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=99cfa2703080c2474e6b8aec0cae86135ae23f1d'/>
<id>urn:sha1:99cfa2703080c2474e6b8aec0cae86135ae23f1d</id>
<content type='text'>
A new "folder:" prefix in the query string can now be used to match
the directories in which mail files are stored.

The addition of this feature causes the recently added
search-by-folder tests to now pass.
</content>
</entry>
<entry>
<title>Tighten up a memory allocation.</title>
<updated>2011-01-15T23:37:43Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2011-01-15T22:01:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8bef9ba9220956beb8ff634c16344fb00689b973'/>
<id>urn:sha1:8bef9ba9220956beb8ff634c16344fb00689b973</id>
<content type='text'>
Using the local talloc context ensures that the memory we are using
here will be freed shortly, (rather than hanging on for a long time
with the notmuch database object).
</content>
</entry>
<entry>
<title>lib: Remove the notion of TAGS_INVALID</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T01:45:59Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d422dcf0a276f2806d5563fbdc48fa7d69e4c3eb'/>
<id>urn:sha1:d422dcf0a276f2806d5563fbdc48fa7d69e4c3eb</id>
<content type='text'>
This rather ugly hack was recently obviated by the removal of the
notmuch_database_set_maildir_sync function. Now, clients must make
explicit calls to do any syncrhonization between maildir flags and
tags. So the library no longer needs to worry about doing inconsistent
synchronization while a message is only partially added.
</content>
</entry>
<entry>
<title>lib: Rework interface for maildir_flags synchronization</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T01:36:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bb74e9dff80e64734308d5997c756fd96d041235'/>
<id>urn:sha1:bb74e9dff80e64734308d5997c756fd96d041235</id>
<content type='text'>
Instead of having an API for setting a library-wide flag for
synchronization (notmuch_database_set_maildir_sync) we instead
implement maildir synchronization with two new library functions:

	notmuch_message_maildir_flags_to_tags
  and   notmuch_message_tags_to_maildir_flags

These functions are nicely documented here, (though the implementation
does not quite match the documentation yet---as plainly evidenced by
the current results of the test suite).
</content>
</entry>
<entry>
<title>Make maildir synchronization configurable</title>
<updated>2010-11-10T21:09:32Z</updated>
<author>
<name>Michal Sojka</name>
<email>sojkam1@fel.cvut.cz</email>
</author>
<published>2010-10-31T21:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d9d3d3e6f06a76dc0fbe24c9655b64acfcd4b9e4'/>
<id>urn:sha1:d9d3d3e6f06a76dc0fbe24c9655b64acfcd4b9e4</id>
<content type='text'>
This adds group [maildir] and key 'synchronize_flags' to the
configuration file. Its value enables (true) or diables (false) the
synchronization between notmuch tags and maildir flags. By default,
the synchronization is disabled.
</content>
</entry>
<entry>
<title>Maildir synchronization</title>
<updated>2010-11-10T21:09:31Z</updated>
<author>
<name>Michal Sojka</name>
<email>sojkam1@fel.cvut.cz</email>
</author>
<published>2010-10-31T21:29:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=088801a14ab1ccf4c65e5bf7b50b3a1172c477d7'/>
<id>urn:sha1:088801a14ab1ccf4c65e5bf7b50b3a1172c477d7</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>lib: Return added message even if it already was in the database</title>
<updated>2010-11-10T21:09:31Z</updated>
<author>
<name>Michal Sojka</name>
<email>sojkam1@fel.cvut.cz</email>
</author>
<published>2010-10-31T21:29:15Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b65a783195cb459a316370eb7a956b6029102f2e'/>
<id>urn:sha1:b65a783195cb459a316370eb7a956b6029102f2e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib: Eliminate some redundant includes of xapian.h</title>
<updated>2010-11-02T06:24:40Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-02T05:31:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d064bd696ccc443a7ece9cfc8816999c69943223'/>
<id>urn:sha1:d064bd696ccc443a7ece9cfc8816999c69943223</id>
<content type='text'>
Most files including this already include database-private.h which
includes xapian.h already.
</content>
</entry>
</feed>
