From f118ef3c3db0a01479a505ba85a34879d8e0dede Mon Sep 17 00:00:00 2001 From: David Bremner Date: Wed, 23 Dec 2020 23:45:23 -0400 Subject: [PATCH] cli/compact: convert to new configuration framework Switch to the newly created API function notmuch_database_compact_db, which takes the database opened in main(). --- notmuch-compact.c | 7 +++---- notmuch.c | 2 +- test/T035-read-config.sh | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/notmuch-compact.c b/notmuch-compact.c index ab2066e1..361583db 100644 --- a/notmuch-compact.c +++ b/notmuch-compact.c @@ -27,9 +27,8 @@ status_update_cb (const char *msg, unused (void *closure)) } int -notmuch_compact_command (notmuch_config_t *config, unused(notmuch_database_t *notmuch), int argc, char *argv[]) +notmuch_compact_command (unused(notmuch_config_t *config), notmuch_database_t *notmuch, int argc, char *argv[]) { - const char *path = notmuch_config_get_database_path (config); const char *backup_path = NULL; notmuch_status_t ret; bool quiet = false; @@ -55,8 +54,8 @@ notmuch_compact_command (notmuch_config_t *config, unused(notmuch_database_t *no if (! quiet) printf ("Compacting database...\n"); - ret = notmuch_database_compact (path, backup_path, - quiet ? NULL : status_update_cb, NULL); + ret = notmuch_database_compact_db (notmuch, backup_path, + quiet ? NULL : status_update_cb, NULL); if (ret) { fprintf (stderr, "Compaction failed: %s\n", notmuch_status_to_string (ret)); return EXIT_FAILURE; diff --git a/notmuch.c b/notmuch.c index 913fd312..3a299afa 100644 --- a/notmuch.c +++ b/notmuch.c @@ -163,7 +163,7 @@ static command_t commands[] = { "Create a plain-text dump of the tags for each message." }, { "restore", notmuch_restore_command, NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE, "Restore the tags from the given dump file (see 'dump')." }, - { "compact", notmuch_compact_command, NOTMUCH_COMMAND_CONFIG_OPEN, + { "compact", notmuch_compact_command, NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE, "Compact the notmuch database." }, { "reindex", notmuch_reindex_command, NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE, "Re-index all messages matching the search terms." }, diff --git a/test/T035-read-config.sh b/test/T035-read-config.sh index 6dc7ccbb..102aea60 100755 --- a/test/T035-read-config.sh +++ b/test/T035-read-config.sh @@ -447,4 +447,18 @@ EOF restore_config test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "running compact (xdg)" +xdg_config +notmuch compact +output=$(notmuch count '*') +restore_config +test_expect_equal "52" "$output" + +test_begin_subtest "running compact (xdg + profile)" +xdg_config ${RANDOM} +notmuch compact +output=$(notmuch count '*') +restore_config +test_expect_equal "52" "$output" + test_done