From 25e0f5e59293ce961549201fdc74f81a3cc1675c Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sat, 25 Dec 2021 17:22:56 -0400 Subject: [PATCH] lib/open: do not consider .notmuch alone as an existing database. It makes perfect sense for users to want to pre-create .notmuch, e.g. to install hooks, so we should handle the case of a .notmuch directory without an actual xapian database more gracefully. --- lib/open.cc | 8 ++------ test/T055-path-config.sh | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/open.cc b/lib/open.cc index a942383b..4dd62a9f 100644 --- a/lib/open.cc +++ b/lib/open.cc @@ -662,16 +662,12 @@ notmuch_database_create_with_config (const char *database_path, err = mkdir (notmuch_path, 0755); if (err) { - if (errno == EEXIST) { - status = NOTMUCH_STATUS_DATABASE_EXISTS; - talloc_free (notmuch); - notmuch = NULL; - } else { + if (errno != EEXIST) { IGNORE_RESULT (asprintf (&message, "Error: Cannot create directory %s: %s.\n", notmuch_path, strerror (errno))); status = NOTMUCH_STATUS_FILE_ERROR; + goto DONE; } - goto DONE; } } diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh index b6858d42..b910e28e 100755 --- a/test/T055-path-config.sh +++ b/test/T055-path-config.sh @@ -322,7 +322,6 @@ EOF *) backup_database test_begin_subtest ".notmuch without xapian/ handled gracefully ($config)" - test_subtest_known_broken rm -r $XAPIAN_PATH test_expect_success "notmuch new" restore_database -- 2.43.0