<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-new.c, branch 0.22</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.22</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.22'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2016-03-30T02:07:00Z</updated>
<entry>
<title>cli/new: add better error messages for FILE_ERROR</title>
<updated>2016-03-30T02:07:00Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-03-30T02:03:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6e6bafed0f88f914da34ec55087418756e485e52'/>
<id>urn:sha1:6e6bafed0f88f914da34ec55087418756e485e52</id>
<content type='text'>
The code in add_file seems to assume that NOTMUCH_STATUS_FILE_ERROR is
never returned from add_message. This turns out to be false (although it
seems to only happen in certain fairly rare race conditions).
</content>
</entry>
<entry>
<title>cli: fix function name in notmuch new debug logging</title>
<updated>2015-12-30T15:28:30Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2015-11-03T19:49:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b645f416059f128ea49991745b648c7ffa045ccc'/>
<id>urn:sha1:b645f416059f128ea49991745b648c7ffa045ccc</id>
<content type='text'>
add_files_recursive has been renamed add_files long ago.
</content>
</entry>
<entry>
<title>cli: delete directory documents on directory removal</title>
<updated>2015-10-14T10:55:41Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2015-09-25T20:48:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e26d99dc7b02f33299c281f97a13deaef802bc7a'/>
<id>urn:sha1:e26d99dc7b02f33299c281f97a13deaef802bc7a</id>
<content type='text'>
There was a problem with the directory documents being left behind when
the filesystem directory was removed. This was worked around in [1].
However, that ignored the fact that the directory documents are also
still listed by notmuch_directory_get_child_directories() leading to
confusing results when running notmuch new. The directory documents are
found and queued for removal over and over again.

Fix the problem for real by removing the directory documents. This fixes
the tests flagged as broken in [2].

The (non-deterministic) hack test from [3] also still passes with this
change.

[1] commit acd66cdec075312944e527febd46382e54d99367
[2] commit ed9ceda623d3f22fb66365b33db63c5c982067d3
[3] id:1441445731-4362-1-git-send-email-jani@nikula.org
</content>
</entry>
<entry>
<title>cli: use designated initializer to initialize add_files_state</title>
<updated>2015-09-29T11:25:25Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2015-09-25T18:47:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=847792ec29709f3d3c0e94cdd22b60a253e6de8a'/>
<id>urn:sha1:847792ec29709f3d3c0e94cdd22b60a253e6de8a</id>
<content type='text'>
The side effect is that all of add_files_state will be initialized to
zero, removing any lingering doubt that some of it might not be
initialized. It's not a small struct, and the initialization is
scattered around a bit, so this makes the code more readable.
</content>
</entry>
<entry>
<title>cli: reset db directory mtime upon directory removal</title>
<updated>2015-09-07T12:28:00Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2015-09-05T09:35:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=acd66cdec075312944e527febd46382e54d99367'/>
<id>urn:sha1:acd66cdec075312944e527febd46382e54d99367</id>
<content type='text'>
The library does not have a function to remove a directory document
for a path. Usually this doesn't matter except for a slight waste of
space. However, if the same directory gets added to the filesystem
again, the old directory document is found with the old mtime. Reset
the directory mtime on removal to avoid problems.

The corner case that can hit this problem is renaming directories back
and forth. Renaming does not change the mtime of the directory in the
filesystem, and thus the old db directory document mtime may match the
fs mtime of the directory.

The long term fix might be to add a library function to remove a
directory document, however this is a much simpler and faster fix for
the time being.
</content>
</entry>
<entry>
<title>cli: add global option "--uuid"</title>
<updated>2015-08-14T16:23:49Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-04-05T22:39:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f76d8f82dd004cf14426a91e8a80dcd2a4b97317'/>
<id>urn:sha1:f76d8f82dd004cf14426a91e8a80dcd2a4b97317</id>
<content type='text'>
The function notmuch_exit_if_unmatched_db_uuid is split from
notmuch_process_shared_options because it needs an open notmuch
database.

There are two exceptional cases in uuid handling.

1) notmuch config and notmuch setup don't currently open the database,
   so it doesn't make sense to check the UUID.

2) notmuch compact opens the database inside the library, so we either
   need to open the database just to check uuid, or change the API.
</content>
</entry>
<entry>
<title>cli/new: add more debugging output</title>
<updated>2015-08-04T18:59:58Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-08-04T06:48:33Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e4e04bbc328f990e36b77f508aef904d156029b1'/>
<id>urn:sha1:e4e04bbc328f990e36b77f508aef904d156029b1</id>
<content type='text'>
Try to narrow down what part of the code adds files and directories to
the queue(s) to be deleted.

Update one test. The output is slightly confusing, but I believe it is
correct, resulting from a directory being discovered but containing only ignored files.
</content>
</entry>
<entry>
<title>cli: define shared options, use for --help and --version</title>
<updated>2015-06-01T05:32:54Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-04-05T13:13:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0018a8d787a98f80c665061daa9b0c73839d3666'/>
<id>urn:sha1:0018a8d787a98f80c665061daa9b0c73839d3666</id>
<content type='text'>
Unfortunately it seems trickier to support --config globally

The non-trivial changes are in notmuch.c; most of the other changes
consists of blindly inserting two lines into every subcommand.
</content>
</entry>
<entry>
<title>cli: change "setup" to "set up" where used as a verb</title>
<updated>2015-05-31T17:14:42Z</updated>
<author>
<name>J. Lewis Muir</name>
<email>jlmuir@imca-cat.org</email>
</author>
<published>2015-05-27T17:53:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d08af93c65310c2d5ec8033040854f8ff4e5550f'/>
<id>urn:sha1:d08af93c65310c2d5ec8033040854f8ff4e5550f</id>
<content type='text'>
The word "setup" is a noun, not a verb.  Change occurrences of "setup"
where used as a verb to "set up".
</content>
</entry>
<entry>
<title>lib: add "verbose" versions of notmuch_database_{open,create}</title>
<updated>2015-03-28T23:34:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2014-12-27T18:12:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=84d3b15d251623cbb66e5eca7ddb8d61aa596d33'/>
<id>urn:sha1:84d3b15d251623cbb66e5eca7ddb8d61aa596d33</id>
<content type='text'>
The compatibility wrapper ensures that clients calling
notmuch_database_open will receive consistent output for now.

The changes to notmuch-{new,search} and test/symbol-test are just to
make the test suite pass.

The use of IGNORE_RESULT is justified by two things. 1) I don't know
what else to do.  2) asprintf guarantees the output string is NULL if
an error occurs, so at least we are not passing garbage back.
</content>
</entry>
</feed>
