From 54e7f1777d0b623e0995c9d5e88ab9b412e470bb Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Sun, 3 Nov 2013 14:24:49 +0200 Subject: [PATCH] cli: add compact --backup=DIRECTORY option, don't backup by default It's the user's decision. The recommended way is to do a database dump anyway. Clean up the relevant printfs too. --- notmuch-compact.c | 27 +++++++++++++-------------- test/compact | 4 ++-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/notmuch-compact.c b/notmuch-compact.c index b9461c2f..359acfcc 100644 --- a/notmuch-compact.c +++ b/notmuch-compact.c @@ -27,16 +27,19 @@ status_update_cb (const char *msg, unused (void *closure)) } int -notmuch_compact_command (notmuch_config_t *config, - unused (int argc), - unused (char *argv[])) +notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[]) { const char *path = notmuch_config_get_database_path (config); - const char *backup_path; + const char *backup_path = NULL; notmuch_status_t ret; + int opt_index; - backup_path = talloc_asprintf (config, "%s/xapian.old", path); - if (! backup_path) + notmuch_opt_desc_t options[] = { + { NOTMUCH_OPT_STRING, &backup_path, "backup", 0, 0 }, + }; + + opt_index = parse_arguments (argc, argv, options, 1); + if (opt_index < 0) return 1; printf ("Compacting database...\n"); @@ -46,14 +49,10 @@ notmuch_compact_command (notmuch_config_t *config, return 1; } - printf ("\n"); - printf ("\n"); - printf ("The old database has been moved to %s", backup_path); - printf ("\n"); - printf ("To delete run,\n"); - printf ("\n"); - printf (" rm -R %s\n", backup_path); - printf ("\n"); + if (backup_path) + printf ("The old database has been moved to %s.\n", backup_path); + + printf ("Done.\n"); return 0; } diff --git a/test/compact b/test/compact index afab5372..ac174cec 100755 --- a/test/compact +++ b/test/compact @@ -10,7 +10,7 @@ notmuch tag +tag1 \* notmuch tag +tag2 subject:Two notmuch tag -tag1 +tag3 subject:Three -test_expect_success "Running compact" "notmuch compact" +test_expect_success "Running compact" "notmuch compact --backup=${TEST_DIRECTORY}/xapian.old" test_begin_subtest "Compact preserves database" output=$(notmuch search \* | notmuch_search_sanitize) @@ -21,7 +21,7 @@ thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)" test_expect_success 'Restoring Backup' \ 'rm -Rf ${MAIL_DIR}/.notmuch/xapian && - mv ${MAIL_DIR}/xapian.old ${MAIL_DIR}/.notmuch/xapian' + mv ${TEST_DIRECTORY}/xapian.old ${MAIL_DIR}/.notmuch/xapian' test_begin_subtest "Checking restored backup" output=$(notmuch search \* | notmuch_search_sanitize)