* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program. If not, see http://www.gnu.org/licenses/ .
+ * along with this program. If not, see https://www.gnu.org/licenses/ .
*
* Authors: Carl Worth <cworth@cworth.org>
* Keith Packard <keithp@keithp.com>
_help_for (const char *topic);
static notmuch_bool_t print_version = FALSE, print_help = FALSE;
+char *notmuch_requested_db_uuid = NULL;
const notmuch_opt_desc_t notmuch_shared_options [] = {
{ NOTMUCH_OPT_BOOLEAN, &print_version, "version", 'v', 0 },
{ NOTMUCH_OPT_BOOLEAN, &print_help, "help", 'h', 0 },
+ { NOTMUCH_OPT_STRING, ¬much_requested_db_uuid, "uuid", 'u', 0 },
{0, 0, 0, 0, 0}
};
}
}
+void
+notmuch_exit_if_unmatched_db_uuid (notmuch_database_t *notmuch)
+{
+ const char *uuid = NULL;
+
+ if (!notmuch_requested_db_uuid)
+ return;
+ IGNORE_RESULT (notmuch_database_get_revision (notmuch, &uuid));
+
+ if (strcmp (notmuch_requested_db_uuid, uuid) != 0){
+ fprintf (stderr, "Error: requested database revision %s does not match %s\n",
+ notmuch_requested_db_uuid, uuid);
+ exit (1);
+ }
+}
+
static void
exec_man (const char *page)
{
"You can also use \"notmuch show\" with any of the thread IDs resulting\n"
"from a search. Finally, you may want to explore using a more sophisticated\n"
"interface to notmuch such as the emacs interface implemented in notmuch.el\n"
- "or any other interface described at http://notmuchmail.org\n\n"
+ "or any other interface described at https://notmuchmail.org\n\n"
"And don't forget to run \"notmuch new\" whenever new mail arrives.\n\n"
"Have fun, and may your inbox never have much mail.\n\n",
notmuch_config_get_user_name (config),
goto DONE;
}
- notmuch_process_shared_options (NULL);
-
if (opt_index < argc)
command_name = argv[opt_index];
+ notmuch_process_shared_options (command_name);
+
command = find_command (command_name);
if (!command) {
fprintf (stderr, "Error: Unknown command '%s' (see \"notmuch help\")\n",