mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
Merge branch 'release'
Add Jani's fix for notmuch-new
This commit is contained in:
commit
c970de6dc5
5 changed files with 43 additions and 7 deletions
7
NEWS
7
NEWS
|
@ -1,4 +1,9 @@
|
|||
Notmuch 0.23.3 (UNRELEASED)
|
||||
Notmuch 0.23.3 (2016-11-26)
|
||||
|
||||
Command Line Interface
|
||||
----------------------
|
||||
|
||||
Treat disappearing files during notmuch new as non-fatal.
|
||||
|
||||
Test Suite
|
||||
----------
|
||||
|
|
9
debian/changelog
vendored
9
debian/changelog
vendored
|
@ -1,9 +1,12 @@
|
|||
notmuch (0.23.3-1) UNRELEASED; urgency=medium
|
||||
notmuch (0.23.3-1) unstable; urgency=medium
|
||||
|
||||
* Re-enable test suite
|
||||
* Fix test suite compatibility with gnupg 2.1.16
|
||||
* Fix test suite compatibility with gnupg 2.1.16. Fixes: "FTBFS:
|
||||
Tests failures", thanks to Lucas Nussbaum (Closes: #844915).
|
||||
* Bug fix: "race condition in `notmuch new`?", thanks to Paul Wise
|
||||
(Closes: #843127).
|
||||
|
||||
-- David Bremner <bremner@debian.org> Thu, 24 Nov 2016 20:29:35 -0400
|
||||
-- David Bremner <bremner@debian.org> Sat, 26 Nov 2016 08:37:39 -0400
|
||||
|
||||
notmuch (0.23.2-1) unstable; urgency=medium
|
||||
|
||||
|
|
|
@ -43,6 +43,14 @@ Supported options for **new** include
|
|||
``--quiet``
|
||||
Do not print progress or results.
|
||||
|
||||
EXIT STATUS
|
||||
===========
|
||||
|
||||
This command supports the following special exit status code
|
||||
|
||||
``75 (EX_TEMPFAIL)``
|
||||
A temporary failure occured; the user is invited to retry.
|
||||
|
||||
SEE ALSO
|
||||
========
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#define _GNU_SOURCE /* for getline */
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <sysexits.h>
|
||||
|
||||
#include "compat.h"
|
||||
|
||||
|
@ -114,6 +115,16 @@ chomp_newline (char *str)
|
|||
str[strlen(str)-1] = '\0';
|
||||
}
|
||||
|
||||
/* Exit status code indicating temporary failure; user is invited to
|
||||
* retry.
|
||||
*
|
||||
* For example, file(s) in the mail store were removed or renamed
|
||||
* after notmuch new scanned the directories but before indexing the
|
||||
* file(s). If the file was renamed, the indexing might not be
|
||||
* complete, and the user is advised to re-run notmuch new.
|
||||
*/
|
||||
#define NOTMUCH_EXIT_TEMPFAIL EX_TEMPFAIL
|
||||
|
||||
/* Exit status code indicating the requested format version is too old
|
||||
* (support for that version has been dropped). CLI code should use
|
||||
* notmuch_exit_if_unsupported_format rather than directly exiting
|
||||
|
|
|
@ -53,6 +53,7 @@ typedef struct {
|
|||
int total_files;
|
||||
int processed_files;
|
||||
int added_messages, removed_messages, renamed_messages;
|
||||
int vanished_files;
|
||||
struct timeval tv_start;
|
||||
|
||||
_filename_list_t *removed_files;
|
||||
|
@ -280,11 +281,13 @@ add_file (notmuch_database_t *notmuch, const char *filename,
|
|||
case NOTMUCH_STATUS_FILE_NOT_EMAIL:
|
||||
fprintf (stderr, "Note: Ignoring non-mail file: %s\n", filename);
|
||||
break;
|
||||
/* Fatal issues. Don't process anymore. */
|
||||
case NOTMUCH_STATUS_FILE_ERROR:
|
||||
/* Someone renamed/removed the file between scandir and now. */
|
||||
state->vanished_files++;
|
||||
fprintf (stderr, "Unexpected error with file %s\n", filename);
|
||||
(void) print_status_database ("add_file", notmuch, status);
|
||||
goto DONE;
|
||||
break;
|
||||
/* Fatal issues. Don't process anymore. */
|
||||
case NOTMUCH_STATUS_READ_ONLY_DATABASE:
|
||||
case NOTMUCH_STATUS_XAPIAN_EXCEPTION:
|
||||
case NOTMUCH_STATUS_OUT_OF_MEMORY:
|
||||
|
@ -1151,5 +1154,11 @@ notmuch_new_command (notmuch_config_t *config, int argc, char *argv[])
|
|||
if (!no_hooks && !ret && !interrupted)
|
||||
ret = notmuch_run_hook (db_path, "post-new");
|
||||
|
||||
return ret || interrupted ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
if (ret || interrupted)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
if (add_files_state.vanished_files)
|
||||
return NOTMUCH_EXIT_TEMPFAIL;
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue