notmuch-dump: treat any remaining arguments after the filename as search terms

The main motivation here is allow the fast dumping of tag data for
messages having certain tags.  In practice it seems too slow to pipe
dump to grep.

All dump-restore tests should be working now, so we update test/dump-restore
accordingly
This commit is contained in:
David Bremner 2011-10-09 11:12:30 -03:00
parent ff2cd7a789
commit 09beff1def
2 changed files with 10 additions and 4 deletions

View file

@ -30,6 +30,7 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[])
notmuch_messages_t *messages; notmuch_messages_t *messages;
notmuch_message_t *message; notmuch_message_t *message;
notmuch_tags_t *tags; notmuch_tags_t *tags;
const char* query_str = "";
config = notmuch_config_open (ctx, NULL, NULL); config = notmuch_config_open (ctx, NULL, NULL);
if (config == NULL) if (config == NULL)
@ -56,7 +57,15 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[])
argv++; argv++;
} }
query = notmuch_query_create (notmuch, ""); if (argc) {
query_str = query_string_from_args (notmuch, argc, argv);
if (query_str == NULL) {
fprintf (stderr, "Out of memory.\n");
return 1;
}
}
query = notmuch_query_create (notmuch, query_str);
if (query == NULL) { if (query == NULL) {
fprintf (stderr, "Out of memory\n"); fprintf (stderr, "Out of memory\n");
return 1; return 1;

View file

@ -22,17 +22,14 @@ test_expect_equal_file dump.expected dump-1-arg-dash.actual
grep cworth\.org dump.expected > dump-cworth.expected grep cworth\.org dump.expected > dump-cworth.expected
test_begin_subtest "dump -- from:cworth" test_begin_subtest "dump -- from:cworth"
test_subtest_known_broken
notmuch dump -- from:cworth > dump-dash-cworth.actual notmuch dump -- from:cworth > dump-dash-cworth.actual
test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual
test_begin_subtest "dump outfile from:cworth" test_begin_subtest "dump outfile from:cworth"
test_subtest_known_broken
notmuch dump dump-outfile-cworth.actual from:cworth notmuch dump dump-outfile-cworth.actual from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-cworth.actual test_expect_equal_file dump-cworth.expected dump-outfile-cworth.actual
test_begin_subtest "dump outfile -- from:cworth" test_begin_subtest "dump outfile -- from:cworth"
test_subtest_known_broken
notmuch dump dump-outfile-dash-inbox.actual -- from:cworth notmuch dump dump-outfile-dash-inbox.actual -- from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual