From 521b53e5c7ee23a137e903d99108f81d44cca5ec Mon Sep 17 00:00:00 2001 From: Gerrit Pape Date: Sun, 4 Nov 2007 09:37:20 +0000 Subject: [PATCH] git-reset: add -q option to operate quietly Many git commands have a -q option to suppress output to stdout, let's have it for git-reset too. This was asked for by Joey Hess through http://bugs.debian.org/444933 Signed-off-by: Gerrit Pape Signed-off-by: Junio C Hamano --- Documentation/git-reset.txt | 7 +++++-- builtin-reset.c | 14 ++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt index 87afa6f8d..050e4eadb 100644 --- a/Documentation/git-reset.txt +++ b/Documentation/git-reset.txt @@ -8,8 +8,8 @@ git-reset - Reset current HEAD to the specified state SYNOPSIS -------- [verse] -'git-reset' [--mixed | --soft | --hard] [] -'git-reset' [--mixed] [--] ... +'git-reset' [--mixed | --soft | --hard] [-q] [] +'git-reset' [--mixed] [-q] [--] ... DESCRIPTION ----------- @@ -45,6 +45,9 @@ OPTIONS switched to. Any changes to tracked files in the working tree since are lost. +-q:: + Be quiet, only report errors. + :: Commit to make the current HEAD. diff --git a/builtin-reset.c b/builtin-reset.c index 5467e36c7..9626d4c54 100644 --- a/builtin-reset.c +++ b/builtin-reset.c @@ -18,7 +18,7 @@ #include "tree.h" static const char builtin_reset_usage[] = -"git-reset [--mixed | --soft | --hard] [] [ [--] ...]"; +"git-reset [--mixed | --soft | --hard] [-q] [] [ [--] ...]"; static char *args_to_str(const char **argv) { @@ -185,7 +185,7 @@ static const char *reset_type_names[] = { "mixed", "soft", "hard", NULL }; int cmd_reset(int argc, const char **argv, const char *prefix) { - int i = 1, reset_type = NONE, update_ref_status = 0; + int i = 1, reset_type = NONE, update_ref_status = 0, quiet = 0; const char *rev = "HEAD"; unsigned char sha1[20], *orig = NULL, sha1_orig[20], *old_orig = NULL, sha1_old_orig[20]; @@ -197,7 +197,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix) reflog_action = args_to_str(argv); setenv("GIT_REFLOG_ACTION", reflog_action, 0); - if (i < argc) { + while (i < argc) { if (!strcmp(argv[i], "--mixed")) { reset_type = MIXED; i++; @@ -210,6 +210,12 @@ int cmd_reset(int argc, const char **argv, const char *prefix) reset_type = HARD; i++; } + else if (!strcmp(argv[i], "-q")) { + quiet = 1; + i++; + } + else + break; } if (i < argc && argv[i][0] != '-') @@ -270,7 +276,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix) switch (reset_type) { case HARD: - if (!update_ref_status) + if (!update_ref_status && !quiet) print_new_head_line(commit); break; case SOFT: /* Nothing else to do. */ -- 2.26.2