aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <bremner@debian.org>2011-10-09 11:12:30 -0300
committerDavid Bremner <bremner@debian.org>2011-10-16 19:59:53 -0300
commit09beff1def1daa9887679723205855ff7da8a297 (patch)
tree615a26e8db9e0d504d2213828054d2cabc69628a
parentff2cd7a789b81e76d2279ac8a13a06172c6d8279 (diff)
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
-rw-r--r--notmuch-dump.c11
-rwxr-xr-xtest/dump-restore3
2 files changed, 10 insertions, 4 deletions
diff --git a/notmuch-dump.c b/notmuch-dump.c
index 610144e..ac5d074 100644
--- a/notmuch-dump.c
+++ b/notmuch-dump.c
@@ -30,6 +30,7 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[])
notmuch_messages_t *messages;
notmuch_message_t *message;
notmuch_tags_t *tags;
+ const char* query_str = "";
config = notmuch_config_open (ctx, NULL, NULL);
if (config == NULL)
@@ -56,7 +57,15 @@ notmuch_dump_command (unused (void *ctx), int argc, char *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) {
fprintf (stderr, "Out of memory\n");
return 1;
diff --git a/test/dump-restore b/test/dump-restore
index 3f9a531..e7edd9b 100755
--- a/test/dump-restore
+++ b/test/dump-restore
@@ -22,17 +22,14 @@ test_expect_equal_file dump.expected dump-1-arg-dash.actual
grep cworth\.org dump.expected > dump-cworth.expected
test_begin_subtest "dump -- from:cworth"
-test_subtest_known_broken
notmuch dump -- from:cworth > dump-dash-cworth.actual
test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual
test_begin_subtest "dump outfile from:cworth"
-test_subtest_known_broken
notmuch dump dump-outfile-cworth.actual from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-cworth.actual
test_begin_subtest "dump outfile -- from:cworth"
-test_subtest_known_broken
notmuch dump dump-outfile-dash-inbox.actual -- from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual