<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/open.cc, branch 0.33</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.33</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.33'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2021-08-19T04:46:42Z</updated>
<entry>
<title>Merge tag 'debian/0.32.3-1'</title>
<updated>2021-08-19T04:46:42Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-19T04:46:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3df2281746d57abbb45790ecb432ef40533c30bc'/>
<id>urn:sha1:3df2281746d57abbb45790ecb432ef40533c30bc</id>
<content type='text'>
notmuch release 0.32.3-1 for unstable (sid) [dgit]

[dgit distro=debian no-split --quilt=linear]
</content>
</entry>
<entry>
<title>lib/open: look in MAILDIR for database, as documented.</title>
<updated>2021-08-18T00:09:21Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-04T10:42:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d9300116909ea316c84fd6d3ee57c89074dcd260'/>
<id>urn:sha1:d9300116909ea316c84fd6d3ee57c89074dcd260</id>
<content type='text'>
This fixes the bug id:87bl9lx864.fsf@kisara.moe
</content>
</entry>
<entry>
<title>lib: autocommit after some number of completed transactions</title>
<updated>2021-06-27T17:03:00Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-18T02:06:01Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e2a3e5fa51122efb0f5ac836e536881d97deef1a'/>
<id>urn:sha1:e2a3e5fa51122efb0f5ac836e536881d97deef1a</id>
<content type='text'>
This change addresses two known issues with large sets of changes to
the database.  The first is that as reported by Steven Allen [1],
notmuch commits are not "flushed" when they complete, which means that
if there is an open transaction when the database closes (or e.g. the
program crashes) then all changes since the last commit will be
discarded (nothing is irrecoverably lost for "notmuch new", as the
indexing process just restarts next time it is run).  This does not
really "fix" the issue reported in [1]; that seems rather difficult
given how transactions work in Xapian. On the other hand, with the
default settings, this should mean one only loses less than a minutes
worth of work.  The second issue is the occasionally reported "storm"
of disk writes when notmuch finishes. I don't yet have a test for
this, but I think committing as we go should reduce the amount of work
when finalizing the database.

[1]: id:20151025210215.GA3754@stebalien.com
</content>
</entry>
<entry>
<title>lib/{open,message}: make some internal functions static</title>
<updated>2021-06-05T18:40:00Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-24T00:08:28Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b0a11dbc3822271e948f625ca326e86ff68f2e57'/>
<id>urn:sha1:b0a11dbc3822271e948f625ca326e86ff68f2e57</id>
<content type='text'>
They are not used outside their file, so being extern seems like an oversight
</content>
</entry>
<entry>
<title>Merge branch 'release'</title>
<updated>2021-05-15T12:10:58Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-15T12:10:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c84ccb70f3ed2b2228346499b5110311039a0ecf'/>
<id>urn:sha1:c84ccb70f3ed2b2228346499b5110311039a0ecf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/open: restore default database path of $HOME/mail</title>
<updated>2021-05-15T11:40:05Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-10T10:39:18Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b3258244c84a7673db39c46cad96ddb63b131dae'/>
<id>urn:sha1:b3258244c84a7673db39c46cad96ddb63b131dae</id>
<content type='text'>
Although this default worked for "notmuch config get", it didn't work
most other places. Restore the previous functionality, with the
wrinkle that XDG locations will shadow $HOME/mail if they exist.

This fixes a bug reported by Jack Kamm in id:87eeefdc8b.fsf@gmail.com
</content>
</entry>
<entry>
<title>lib: make glib initialization thread-safe</title>
<updated>2021-05-14T01:21:57Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-09T20:33:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8410be8e0867820c9814d06b49ff6da822d384a3'/>
<id>urn:sha1:8410be8e0867820c9814d06b49ff6da822d384a3</id>
<content type='text'>
In principle this could be done without depending on C++11 features,
but these features should be available since gcc 4.8.1, and this
localized usage is easy to replace if it turns out to be problematic
for portability.
</content>
</entry>
<entry>
<title>lib/notmuch_database_reopen: reload some database metadata</title>
<updated>2021-05-12T11:40:04Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-05-09T12:28:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=393c92b04271472e6fdd19da73672a60723e34aa'/>
<id>urn:sha1:393c92b04271472e6fdd19da73672a60723e34aa</id>
<content type='text'>
In some uses of reopen, new documents and threads maybe have been
added, and e.g. compaction may have changed the uuid.
</content>
</entry>
<entry>
<title>compat: rename {,notmuch_}canonicalize_file_name</title>
<updated>2021-04-24T11:07:00Z</updated>
<author>
<name>Đoàn Trần Công Danh</name>
<email>congdanhqx@gmail.com</email>
</author>
<published>2021-04-24T01:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=441a327051f5357175029709030a0ee51131379d'/>
<id>urn:sha1:441a327051f5357175029709030a0ee51131379d</id>
<content type='text'>
When compat canonicalize_file_name was introduced, it was limited to
C code only because it was used by C code only during that time.

&gt;From 5ec6fd4d, (lib/open: check for split configuration when creating
database., 2021-02-16), lib/open.cc, which is C++, relies on the
existent of canonicalize_file_name.

However, we can't blindly enable canonicalize_file_name for C++ code,
because different implementation has different additional signature for
C++ and users can arbitrarily add -DHAVE_CANONICALIZE_FILE_NAME=0 to
{C,CXX}FLAGS.

Let's move our implementation into a util library.

Helped-by: Tomi Ollila &lt;tomi.ollila@iki.fi&gt;
Signed-off-by: Đoàn Trần Công Danh &lt;congdanhqx@gmail.com&gt;
</content>
</entry>
<entry>
<title>lib: provide notmuch_config_path</title>
<updated>2021-03-27T12:26:14Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-02-21T11:34:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f5d4349921ded021756d6754d347420e68b23111'/>
<id>urn:sha1:f5d4349921ded021756d6754d347420e68b23111</id>
<content type='text'>
Since the library searches in several locations for a config file, the
caller does not know which of these is chosen in the usual case of
passing NULL as a config file. This changes provides an API for the
caller to retrieve the name of the config file chosen. It will be
tested in a following commit.
</content>
</entry>
</feed>
