[PATCH 5/6] cli: add compact --backup=FILE option, don't backup by default

Jani Nikula jani at nikula.org
Fri Nov 1 07:27:14 PDT 2013


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 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/notmuch-compact.c b/notmuch-compact.c
index 2afa725..ecac86a 100644
--- a/notmuch-compact.c
+++ b/notmuch-compact.c
@@ -27,13 +27,20 @@ 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 = path;
+    const char *backup_path = NULL;
     notmuch_status_t ret;
+    int opt_index;
+
+    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");
     ret = notmuch_database_compact (path, backup_path, status_update_cb, NULL);
@@ -42,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");
+    printf ("Done.\n");
+
+    if (backup_path)
+	printf ("The old database has been moved to %s.\n", backup_path);
 
     return 0;
 }
-- 
1.7.2.5



More information about the notmuch mailing list