<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-restore.c, branch 0.9</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.9</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.9'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2011-10-04T04:55:29Z</updated>
<entry>
<title>lib: make find_message{,by_filename) report errors</title>
<updated>2011-10-04T04:55:29Z</updated>
<author>
<name>Ali Polatel</name>
<email>alip@exherbo.org</email>
</author>
<published>2011-10-04T04:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=02a30767116ad8abcbd0a3351f2e4d43bbbd655f'/>
<id>urn:sha1:02a30767116ad8abcbd0a3351f2e4d43bbbd655f</id>
<content type='text'>
Previously, the functions notmuch_database_find_message() and
notmuch_database_find_message_by_filename() functions did not properly
report error condition to the library user.

For more information, read the thread on the notmuch mailing list
starting with my mail "id:871uv2unfd.fsf@gmail.com"

Make these functions accept a pointer to 'notmuch_message_t' as argument
and return notmuch_status_t which may be used to check for any error
condition.

restore: Modify for the new notmuch_database_find_message()
new: Modify for the new notmuch_database_find_message_by_filename()
</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>Avoid abbreviation, preferring notmuch_config_get_maildir_synchronize_flags</title>
<updated>2010-11-11T11:40:19Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-11T00:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4cfb2a02778bac16e785bbea1fd6c665e34bd955'/>
<id>urn:sha1:4cfb2a02778bac16e785bbea1fd6c665e34bd955</id>
<content type='text'>
Since the name of the configuration parameter here is:

	maildir.synchronize_flags

the convention is that the functions to get and set this parameter
should match it in name. Hence:

       notmuch_config_get_maildir_synchronize_flags

etc. (as opposed to notmuch_config_get_maildir_sync).
</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>lib: Rename iterator functions to prepare for reverse iteration.</title>
<updated>2010-03-09T17:22:29Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-03-09T17:22:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4e5d2f22db290a830c0267f34b519c6138af00ed'/>
<id>urn:sha1:4e5d2f22db290a830c0267f34b519c6138af00ed</id>
<content type='text'>
We rename 'has_more' to 'valid' so that it can function whether
iterating in a forward or reverse direction. We also rename
'advance' to 'move_to_next' to setup parallel naming with
the proposed functions 'move_to_first', 'move_to_last', and
'move_to_previous'.
</content>
</entry>
<entry>
<title>notmuch restore: Don't waste time with messages with unchanged tags.</title>
<updated>2010-02-06T01:29:56Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-02-06T01:29:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=069cb5a73ac2487930baa75a9cd2850968361a16'/>
<id>urn:sha1:069cb5a73ac2487930baa75a9cd2850968361a16</id>
<content type='text'>
It's a simple optimization to look at a message and check that the
existing tags are actually different than the tags we are setting
before we do anything.

For my mail store this takes a "notmuch restore" that does nothing
from about 10 minutes down to 1 minute, so there's a significant
speedup here.
</content>
</entry>
<entry>
<title>Rename NOTMUCH_DATABASE_MODE_WRITABLE to NOTMUCH_DATABASE_MODE_READ_WRITE</title>
<updated>2009-11-21T21:10:18Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2009-11-21T21:10:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=637f99d8f3f45867d0a856503f9f302333824c07'/>
<id>urn:sha1:637f99d8f3f45867d0a856503f9f302333824c07</id>
<content type='text'>
And correspondingly, READONLY to READ_ONLY.
</content>
</entry>
<entry>
<title>Permit opening the notmuch database in read-only mode.</title>
<updated>2009-11-21T21:04:49Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2009-11-21T19:54:25Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f379aa52845f5594aa6cc2e7cf131d5f57202bbf'/>
<id>urn:sha1:f379aa52845f5594aa6cc2e7cf131d5f57202bbf</id>
<content type='text'>
We only rarely need to actually open the database for writing, but we
always create a Xapian::WritableDatabase. This has the effect of
preventing searches and like whilst updating the index.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Acked-by: Carl Worth &lt;cworth@cworth.org&gt;
</content>
</entry>
<entry>
<title>notmuch restore was skipping entries with no new tags</title>
<updated>2009-11-16T20:03:05Z</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2009-11-16T19:53:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c004e1e04b9d1b80ea65b26d65a9ec20641cc64c'/>
<id>urn:sha1:c004e1e04b9d1b80ea65b26d65a9ec20641cc64c</id>
<content type='text'>
notmuch restore used to only add tags; now that it clears existing
tags, it needs to operate on messages even if the new tag list is empty.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
Reviewed-by: Carl Worth &lt;cworth@cworth.org&gt;:

I fixed up the indentation here, (someday we might switch to 8-space
indents, but we haven't yet).
</content>
</entry>
<entry>
<title>Unbreak several notmuch commands after the addition of configuration.</title>
<updated>2009-11-12T04:29:30Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2009-11-12T04:29:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=13569ad6c96c3f3a653ac51274056614647ad7ef'/>
<id>urn:sha1:13569ad6c96c3f3a653ac51274056614647ad7ef</id>
<content type='text'>
All of the following commands:

	notmuch dump
	notmuch reply
	notmuch restore
	notmuch search
	notmuch show
	notmuch tag

were calling notmuch_database_open with an argument of NULL. This was
a legitimate call until the recent addition of configuration, after
which it is expected that all commands will lookup the correct path in
the configuration file. So fix all these commands to do that.

Also, while touching all of these commands, we fix them to use the
talloc context that is passed in rather than creating a local talloc
context. We also switch from using goto for return values, to doing
direct returns as soon as an error is detected, (which can be leak
free thanks to talloc).
</content>
</entry>
</feed>
