From: Carl Worth <cworth@cworth.org>
Date: Tue, 20 Oct 2009 17:07:11 +0000 (-0700)
Subject: Add some explanation about NOTMUCH_BASE to setup_command.
X-Git-Tag: 0.1~818
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=67a0ee2ebb90229d92a5e9a7c676ff1a95fc1008;p=notmuch

Add some explanation about NOTMUCH_BASE to setup_command.

Since we allow the user to enter a custom directory, we need to
let the user know how to make this persistent. Of course, a better
answer would be to take what the user entered and shove it into
a ~/.notmuch-config file or so, but for now this will have to do.
---

diff --git a/notmuch.c b/notmuch.c
index dac19d89..d35bda72 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -285,7 +285,7 @@ int
 setup_command (int argc, char *argv[])
 {
     notmuch_database_t *notmuch;
-    char *mail_directory;
+    char *mail_directory, *default_path;
     int count;
     add_files_state_t add_files_state;
     double elapsed;
@@ -310,19 +310,32 @@ setup_command (int argc, char *argv[])
 	    "such as mb2md. In that case, press Control-C now and run notmuch again\n"
 	    "once the conversion is complete.\n\n");
 
-    {
-	char *default_path = notmuch_database_default_path ();
-	printf ("Top-level mail directory [%s]: ", default_path);
-	free (default_path);
-	fflush (stdout);
-    }
+
+    default_path = notmuch_database_default_path ();
+    printf ("Top-level mail directory [%s]: ", default_path);
+    fflush (stdout);
 
     mail_directory = read_line ();
+    printf ("\n");
 
     if (mail_directory == NULL || strlen (mail_directory) == 0) {
 	if (mail_directory)
 	    free (mail_directory);
-	mail_directory = notmuch_database_default_path ();
+	mail_directory = default_path;
+    } else {
+	/* XXX: Instead of telling the user to use an environment
+	 * variable here, we should really be writing out a configuration
+	 * file and loading that on the next run. */
+	if (strcmp (mail_directory, default_path)) {
+	    printf ("Note: Since you are not using the default path, you will want to set\n"
+		    "the NOTMUCH_BASE environment variable to %s so that\n"
+		    "future calls to notmuch commands will know where to find your mail.\n",
+		    mail_directory);
+	    printf ("For example, if you are using bash for your shell, add:\n\n");
+	    printf ("\texport NOTMUCH_BASE=%s\n\n", mail_directory);
+	    printf ("to your ~/.bashrc file.\n\n");
+	}
+	free (default_path);
     }
 
     notmuch = notmuch_database_create (mail_directory);