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.
---
 notmuch-new.c    | 14 ++++++++++++++
 test/T050-new.sh |  1 +
 2 files changed, 15 insertions(+)

diff --git a/notmuch-new.c b/notmuch-new.c
index 8ff1ade..ee786a3 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -528,6 +528,10 @@ add_files (notmuch_database_t *notmuch,
                                              "%s/%s", path,
                                              notmuch_filenames_get (db_files));

+           if (state->debug)
+               printf ("(D) add_files_recursive, pass 2: queuing passed file 
%s for deletion from database\n",
+                       absolute);
+
            _filename_list_add (state->removed_files, absolute);

            notmuch_filenames_move_to_next (db_files);
@@ -542,6 +546,9 @@ add_files (notmuch_database_t *notmuch,
            {
                char *absolute = talloc_asprintf (state->removed_directories,
                                                  "%s/%s", path, filename);
+               if (state->debug)
+                   printf ("(D) add_files_recursive, pass 2: queuing passed 
directory %s for deletion from database\n",
+                       absolute);

                _filename_list_add (state->removed_directories, absolute);
            }
@@ -610,6 +617,9 @@ add_files (notmuch_database_t *notmuch,
        char *absolute = talloc_asprintf (state->removed_files,
                                          "%s/%s", path,
                                          notmuch_filenames_get (db_files));
+       if (state->debug)
+           printf ("(D) add_files_recursive, pass 3: queuing leftover file %s 
for deletion from database\n",
+                   absolute);

        _filename_list_add (state->removed_files, absolute);

@@ -622,6 +632,10 @@ add_files (notmuch_database_t *notmuch,
                                          "%s/%s", path,
                                          notmuch_filenames_get (db_subdirs));

+       if (state->debug)
+           printf ("(D) add_files_recursive, pass 3: queuing leftover 
directory %s for deletion from database\n",
+                   absolute);
+
        _filename_list_add (state->removed_directories, absolute);

        notmuch_filenames_move_to_next (db_subdirs);
diff --git a/test/T050-new.sh b/test/T050-new.sh
index 66ea10f..ab15ca1 100755
--- a/test/T050-new.sh
+++ b/test/T050-new.sh
@@ -238,6 +238,7 @@ test_expect_equal "$output" \
 (D) add_files_recursive, pass 2: explicitly ignoring 
${MAIL_DIR}/one/two/ignored_file
 (D) add_files_recursive, pass 2: explicitly ignoring 
${MAIL_DIR}/one/two/three/.git
 (D) add_files_recursive, pass 2: explicitly ignoring 
${MAIL_DIR}/one/two/three/ignored_file
+(D) add_files_recursive, pass 3: queuing leftover directory ${MAIL_DIR}/two 
for deletion from database
 No new mail."


-- 
2.1.4

Reply via email to