diff options
author | Stef Walter <stefw@redhat.com> | 2013-08-13 14:46:38 +0200 |
---|---|---|
committer | Stef Walter <stefw@redhat.com> | 2013-08-13 15:37:12 +0200 |
commit | 462bcd86dee13aae6845abcd8619092c867c7ace (patch) | |
tree | 7e4ad5c21df0ec6abaa16006cd42dd0288276102 | |
parent | 1f8c7a25249373b54884968211c7c6d24331dc86 (diff) | |
download | ostree-462bcd86dee13aae6845abcd8619092c867c7ace.tar.gz |
Add --verbose and -v arguments to ostree for details
Use the GLib debug mechanism to handle verbose output.
https://bugzilla.gnome.org/show_bug.cgi?id=705905
-rw-r--r-- | src/libotutil/otutil.h | 1 | ||||
-rw-r--r-- | src/ostree/main.c | 2 | ||||
-rw-r--r-- | src/ostree/ot-main.c | 38 |
3 files changed, 35 insertions, 6 deletions
diff --git a/src/libotutil/otutil.h b/src/libotutil/otutil.h index c7a2842b..e0e30d51 100644 --- a/src/libotutil/otutil.h +++ b/src/libotutil/otutil.h @@ -47,4 +47,3 @@ #include <ot-checksum-utils.h> void ot_ptrarray_add_many (GPtrArray *a, ...) G_GNUC_NULL_TERMINATED; - diff --git a/src/ostree/main.c b/src/ostree/main.c index 580fc8e2..cec12b3f 100644 --- a/src/ostree/main.c +++ b/src/ostree/main.c @@ -70,7 +70,7 @@ main (int argc, if (error != NULL) { - g_printerr ("error: %s\n", error->message); + g_message ("%s", error->message); g_error_free (error); } diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c index 4691bce2..6f751c71 100644 --- a/src/ostree/ot-main.c +++ b/src/ostree/ot-main.c @@ -55,6 +55,19 @@ ostree_usage (char **argv, return (is_error ? 1 : 0); } +static void +message_handler (const gchar *log_domain, + GLogLevelFlags log_level, + const gchar *message, + gpointer user_data) +{ + /* Make this look like normal console output */ + if (log_level & G_LOG_LEVEL_DEBUG) + g_printerr ("OT: %s\n", message); + else + g_printerr ("%s: %s\n", g_get_prgname (), message); +} + int ostree_run (int argc, char **argv, @@ -79,6 +92,8 @@ ostree_run (int argc, g_set_prgname (argv[0]); + g_log_set_handler (NULL, G_LOG_LEVEL_MESSAGE, message_handler, NULL); + if (argc < 2) return ostree_usage (argv, commands, TRUE); @@ -122,6 +137,11 @@ ostree_run (int argc, repo = argv[in] + 7; skip = TRUE; } + else if (g_str_equal (argv[in], "--verbose")) + { + g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, message_handler, NULL); + skip = TRUE; + } else if (cmd == NULL && g_str_equal (argv[in], "--version")) { g_print ("%s\n %s\n", PACKAGE_STRING, OSTREE_FEATURES); @@ -146,7 +166,10 @@ ostree_run (int argc, case 'h': want_help = TRUE; break; - + case 'v': + g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, message_handler, NULL); + skip = TRUE; + break; default: if (cmd == NULL) { @@ -201,11 +224,18 @@ ostree_run (int argc, { if (g_file_test ("objects", G_FILE_TEST_IS_DIR) && g_file_test ("config", G_FILE_TEST_IS_REGULAR)) - repo = "."; + { + g_debug ("Assuming repo is in current directory"); + repo = "."; + } else if (g_file_test (host_repo_path, G_FILE_TEST_EXISTS)) - repo = host_repo_path; + { + g_debug ("Assuming repo is at: %s", host_repo_path); + repo = host_repo_path; + } else { + g_debug ("Could not automatically determine --repo"); g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, "Command requires a --repo argument"); ostree_usage (argv, commands, TRUE); @@ -244,7 +274,7 @@ ostree_main (int argc, if (error) { - g_printerr ("%s\n", error->message); + g_message ("%s", error->message); g_error_free (error); } |