<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-new.c, branch 0.15.2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.15.2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.15.2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2012-12-04T13:10:33Z</updated>
<entry>
<title>cli: convert "notmuch new" to the argument parser</title>
<updated>2012-12-04T13:10:33Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2012-12-03T20:56:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=11365abb90b63af785f5b8ad73e0cbcefc567dce'/>
<id>urn:sha1:11365abb90b63af785f5b8ad73e0cbcefc567dce</id>
<content type='text'>
Use the notmuch argument parser to handle arguments in "notmuch
new". As a side effect, this fixes broken STRNCMP_LITERAL usage that
accepts, for example, --verbosefoo for --verbose.
</content>
</entry>
<entry>
<title>new: Skip ignored broken symlinks</title>
<updated>2012-11-27T02:17:20Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-11-25T05:25:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7611a72be2cf6488c4d57ac0545469ff7ae89760'/>
<id>urn:sha1:7611a72be2cf6488c4d57ac0545469ff7ae89760</id>
<content type='text'>
We now test for user ignore patterns before attempting to determine if
a directory entry is itself a directory.  As a result, we no longer
abort for broken symlinks if the user has explicitly ignored them.

This fixes the test added in the previous patch.  It also slightly
changes the debug output checked by another test of ignores.
</content>
</entry>
<entry>
<title>cli: notmuch new: optionally output debug information when ignoring files/directories</title>
<updated>2012-10-20T20:28:19Z</updated>
<author>
<name>Pieter Praet</name>
<email>pieter@praet.org</email>
</author>
<published>2012-02-19T20:47:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=97216b3cb8012d52c7701b2ec8f874985981124a'/>
<id>urn:sha1:97216b3cb8012d52c7701b2ec8f874985981124a</id>
<content type='text'>
When running 'notmuch new' with the '--debug' option, output debug
information regarding explicitly ignored files and directories.
</content>
</entry>
<entry>
<title>cli: add '--debug' option to 'notmuch new'</title>
<updated>2012-10-20T20:27:58Z</updated>
<author>
<name>Pieter Praet</name>
<email>pieter@praet.org</email>
</author>
<published>2012-02-19T20:47:53Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=12d328a59701ea6251dcd5f7c1cfe6d047c657b4'/>
<id>urn:sha1:12d328a59701ea6251dcd5f7c1cfe6d047c657b4</id>
<content type='text'>
This will be used in later patches to test the 'new.ignore'
config option more thoroughly.
</content>
</entry>
<entry>
<title>new: Unify add_files and add_files_recursive</title>
<updated>2012-05-25T00:53:38Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-24T22:01:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4ca36441a84155571ca2e572f3f6a96af55685b1'/>
<id>urn:sha1:4ca36441a84155571ca2e572f3f6a96af55685b1</id>
<content type='text'>
Since starting at the top of a directory tree and recursing within
that tree are now identical operations, there's no need for both
add_files and add_files_recursive.  This eliminates add_files (which
did nothing more than call add_files_recursive after the previous
patch) and renames add_files_recursive to add_files.
</content>
</entry>
<entry>
<title>new: Merge error checks from add_files and add_files_recursive</title>
<updated>2012-05-25T00:53:19Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-24T22:01:12Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=da170ee6573ca8a04f01ebf789250f6b4b4d3cf0'/>
<id>urn:sha1:da170ee6573ca8a04f01ebf789250f6b4b4d3cf0</id>
<content type='text'>
Previously, add_files_recursive could have been called on a symlink to
a non-directory.  Hence, calling it on a non-directory was not an
error, so a separate function, add_files, existed to fail loudly in
situations where the path had to be a directory.

With the new stat-ing logic, add_files_recursive is always called on
directories, so the separation of this logic is no longer necessary.
Hence, this patch moves the strict error checking previously done by
add_files into add_files_recursive.
</content>
</entry>
<entry>
<title>new: Centralize file type stat-ing logic</title>
<updated>2012-05-25T00:53:08Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-24T22:01:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d99270c450d8f9ef3ecfbcbeeb99b581f36c9175'/>
<id>urn:sha1:d99270c450d8f9ef3ecfbcbeeb99b581f36c9175</id>
<content type='text'>
This moves our logic to get a file's type into one function.  This has
several benefits: we can support OSes and file systems that do not
provide dirent.d_type or always return DT_UNKNOWN, complex
symlink-handling logic has been replaced by a simple stat fall-through
in one place, and the error message for un-stat-able file is more
accurate (previously, the error always mentioned directories, even
though a broken symlink is not a directory).
</content>
</entry>
<entry>
<title>new: Remove workaround for detecting newly created directory objects</title>
<updated>2012-05-24T01:31:10Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-18T04:13:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3f3c446c40e6e7661620645f1c152968b5590f10'/>
<id>urn:sha1:3f3c446c40e6e7661620645f1c152968b5590f10</id>
<content type='text'>
Previously, notmuch_database_get_directory did not indicate whether or
not the returned directory object was newly created, which required a
workaround to distinguish newly created directory objects with no
child messages from directory objects that had no mtime set but did
have child messages.  Now that notmuch_database_get_directory
distinguishes whether or not the directory object exists in the
database, this workaround is no longer necessary.
</content>
</entry>
<entry>
<title>lib/cli: Make notmuch_database_get_directory return a status code</title>
<updated>2012-05-15T11:56:33Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-05-13T23:36:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7199d22f4394abdf72ab791fc0aba2c697bf1209'/>
<id>urn:sha1:7199d22f4394abdf72ab791fc0aba2c697bf1209</id>
<content type='text'>
Previously, notmuch_database_get_directory had no way to indicate how
it had failed.  This changes its prototype to return a status code and
set an out-argument to the retrieved directory, like similar functions
in the library API.  This does *not* change its currently broken
behavior of creating directory objects when they don't exist, but it
does document it and paves the way for fixing this.  Also, it can now
check for a read-only database and return
NOTMUCH_STATUS_READ_ONLY_DATABASE instead of crashing.

In the interest of atomicity, this also updates calls from the CLI so
that notmuch still compiles.
</content>
</entry>
<entry>
<title>lib/cli: Make notmuch_database_create return a status code</title>
<updated>2012-05-05T13:12:26Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-04-30T16:25:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ba5729421825e0ec9d38aa9d656553f329aa6f09'/>
<id>urn:sha1:ba5729421825e0ec9d38aa9d656553f329aa6f09</id>
<content type='text'>
This is the notmuch_database_create equivalent of the previous change.

In this case, there were places where errors were not being propagated
correctly in notmuch_database_create or in calls to it.  These have
been fixed, using the new status value.
</content>
</entry>
</feed>
