mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
cli/reindex: convert new config framework
The only non-trivial part is switching the talloc context for query_string_from args from 'config' to 'notmuch'.
This commit is contained in:
parent
f994f0e7df
commit
0ab0b48be2
3 changed files with 33 additions and 8 deletions
|
@ -83,10 +83,9 @@ reindex_query (notmuch_database_t *notmuch, const char *query_string,
|
|||
}
|
||||
|
||||
int
|
||||
notmuch_reindex_command (notmuch_config_t *config, unused(notmuch_database_t *notmuch), int argc, char *argv[])
|
||||
notmuch_reindex_command (unused(notmuch_config_t *config), notmuch_database_t *notmuch, int argc, char *argv[])
|
||||
{
|
||||
char *query_string = NULL;
|
||||
notmuch_database_t *notmuch;
|
||||
struct sigaction action;
|
||||
int opt_index;
|
||||
int ret;
|
||||
|
@ -111,10 +110,6 @@ notmuch_reindex_command (notmuch_config_t *config, unused(notmuch_database_t *no
|
|||
|
||||
notmuch_process_shared_options (argv[0]);
|
||||
|
||||
if (notmuch_database_open (notmuch_config_get_database_path (config),
|
||||
NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
notmuch_exit_if_unmatched_db_uuid (notmuch);
|
||||
|
||||
status = notmuch_process_shared_indexing_options (notmuch);
|
||||
|
@ -124,7 +119,7 @@ notmuch_reindex_command (notmuch_config_t *config, unused(notmuch_database_t *no
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
query_string = query_string_from_args (config, argc - opt_index, argv + opt_index);
|
||||
query_string = query_string_from_args (notmuch, argc - opt_index, argv + opt_index);
|
||||
if (query_string == NULL) {
|
||||
fprintf (stderr, "Out of memory\n");
|
||||
return EXIT_FAILURE;
|
||||
|
|
|
@ -165,7 +165,7 @@ static command_t commands[] = {
|
|||
"Restore the tags from the given dump file (see 'dump')." },
|
||||
{ "compact", notmuch_compact_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
||||
"Compact the notmuch database." },
|
||||
{ "reindex", notmuch_reindex_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
||||
{ "reindex", notmuch_reindex_command, NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE,
|
||||
"Re-index all messages matching the search terms." },
|
||||
{ "config", notmuch_config_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
||||
"Get or set settings in the notmuch configuration file." },
|
||||
|
|
|
@ -180,4 +180,34 @@ EOF
|
|||
restore_config
|
||||
test_expect_equal_file EXPECTED OUTPUT
|
||||
|
||||
test_begin_subtest "reindex with saved query from config file"
|
||||
backup_config
|
||||
query_name="test${RANDOM}"
|
||||
count1=$(notmuch count --lastmod '*' | cut -f3)
|
||||
printf "\n[query]\n${query_name} = tag:inbox\n" >> notmuch-config
|
||||
notmuch reindex query:$query_name
|
||||
count2=$(notmuch count --lastmod '*' | cut -f3)
|
||||
restore_config
|
||||
test_expect_success "test '$count2 -gt $count1'"
|
||||
|
||||
test_begin_subtest "reindex with saved query from config file (xdg)"
|
||||
query_name="test${RANDOM}"
|
||||
count1=$(notmuch count --lastmod '*' | cut -f3)
|
||||
xdg_config
|
||||
printf "\n[query]\n${query_name} = tag:inbox\n" >> ${CONFIG_PATH}
|
||||
notmuch reindex query:$query_name
|
||||
count2=$(notmuch count --lastmod '*' | cut -f3)
|
||||
restore_config
|
||||
test_expect_success "test '$count2 -gt $count1'"
|
||||
|
||||
test_begin_subtest "reindex with saved query from config file (xdg+profile)"
|
||||
query_name="test${RANDOM}"
|
||||
count1=$(notmuch count --lastmod '*' | cut -f3)
|
||||
xdg_config $query_name
|
||||
printf "\n[query]\n${query_name} = tag:inbox\n" >> ${CONFIG_PATH}
|
||||
notmuch reindex query:$query_name
|
||||
count2=$(notmuch count --lastmod '*' | cut -f3)
|
||||
restore_config
|
||||
test_expect_success "test '$count2 -gt $count1'"
|
||||
|
||||
test_done
|
||||
|
|
Loading…
Reference in a new issue