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.
This commit is contained in:
Jani Nikula 2013-11-03 14:24:49 +02:00 committed by David Bremner
parent d34be29a41
commit 54e7f1777d
2 changed files with 15 additions and 16 deletions

View file

@ -27,16 +27,19 @@ status_update_cb (const char *msg, unused (void *closure))
} }
int int
notmuch_compact_command (notmuch_config_t *config, notmuch_compact_command (notmuch_config_t *config, int argc, char *argv[])
unused (int argc),
unused (char *argv[]))
{ {
const char *path = notmuch_config_get_database_path (config); const char *path = notmuch_config_get_database_path (config);
const char *backup_path; const char *backup_path = NULL;
notmuch_status_t ret; notmuch_status_t ret;
int opt_index;
backup_path = talloc_asprintf (config, "%s/xapian.old", path); notmuch_opt_desc_t options[] = {
if (! backup_path) { NOTMUCH_OPT_STRING, &backup_path, "backup", 0, 0 },
};
opt_index = parse_arguments (argc, argv, options, 1);
if (opt_index < 0)
return 1; return 1;
printf ("Compacting database...\n"); printf ("Compacting database...\n");
@ -46,14 +49,10 @@ notmuch_compact_command (notmuch_config_t *config,
return 1; return 1;
} }
printf ("\n"); if (backup_path)
printf ("\n"); printf ("The old database has been moved to %s.\n", backup_path);
printf ("The old database has been moved to %s", backup_path);
printf ("\n"); printf ("Done.\n");
printf ("To delete run,\n");
printf ("\n");
printf (" rm -R %s\n", backup_path);
printf ("\n");
return 0; return 0;
} }

View file

@ -10,7 +10,7 @@ notmuch tag +tag1 \*
notmuch tag +tag2 subject:Two notmuch tag +tag2 subject:Two
notmuch tag -tag1 +tag3 subject:Three 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" test_begin_subtest "Compact preserves database"
output=$(notmuch search \* | notmuch_search_sanitize) 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' \ test_expect_success 'Restoring Backup' \
'rm -Rf ${MAIL_DIR}/.notmuch/xapian && '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" test_begin_subtest "Checking restored backup"
output=$(notmuch search \* | notmuch_search_sanitize) output=$(notmuch search \* | notmuch_search_sanitize)