[PATCH 2/2] cli/new: only ignore .notmuch at top level

Subject: [PATCH 2/2] cli/new: only ignore .notmuch at top level

Date: Sun, 26 Dec 2021 08:24:10 -0400

To: notmuch@notmuchmail.org

Cc:

From: David Bremner


Since the bug was first reported in [1], notmuch has gained the
ability to have the database located outside the mail root, hence this
this change differs slightly from Jani's proposed solution [2] in not
using notmuch_database_get_path, but rather the already retrieved
mail_root.

[1]: id:87mwhifu9a.fsf@trouble.defaultvalue.org
[2]: id:87ios5v59p.fsf@nikula.org
---
 notmuch-new.c    | 5 +++--
 test/T050-new.sh | 1 -
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/notmuch-new.c b/notmuch-new.c
index 5b8fa340..346e6469 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -601,11 +601,12 @@ add_files (notmuch_database_t *notmuch,
 	    continue;
 	}
 
-	/* Ignore the .notmuch directory and any "tmp" directory
+	/* Ignore any top level .notmuch directory and any "tmp" directory
 	 * that appears within a maildir.
 	 */
 	if ((is_maildir && strcmp (entry->d_name, "tmp") == 0) ||
-	    strcmp (entry->d_name, ".notmuch") == 0)
+	    (strcmp (entry->d_name, ".notmuch") == 0
+	     && (strcmp (path, state->mail_root)) == 0))
 	    continue;
 
 	next = talloc_asprintf (notmuch, "%s/%s", path, entry->d_name);
diff --git a/test/T050-new.sh b/test/T050-new.sh
index db13090b..6791f87c 100755
--- a/test/T050-new.sh
+++ b/test/T050-new.sh
@@ -352,7 +352,6 @@ test_expect_code 1 "NOTMUCH_NEW --debug 2>&1"
 notmuch config set new.tags $OLDCONFIG
 
 test_begin_subtest ".notmuch only ignored at top level"
-test_subtest_known_broken
 generate_message '[dir]=foo/bar/.notmuch/cur' '[subject]="Do not ignore, very important"'
 NOTMUCH_NEW > OUTPUT
 notmuch search subject:Do-not-ignore | notmuch_search_sanitize >> OUTPUT
-- 
2.34.1

_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: