Thread (1 message) 1 message, 1 author, 2021-12-13

Re: [PATCH V3 1/2] git-apply: add --quiet flag

From: Junio C Hamano <hidden>
Date: 2021-12-13 22:30:23

Jerry Zhang [off-list ref] writes:
quoted hunk
Replace OPT_VERBOSE with OPT_VERBOSITY.

This adds a --quiet flag to "git apply" so the user can turn down
the verbosity.

Signed-off-by: Jerry Zhang <redacted>
---
V2->V3 
- Reorganized into a patch series to capture
dependencies between 2 git apply changes.

 Documentation/git-apply.txt | 7 ++++++-
 apply.c                     | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index aa1ae56a25..a32ad64718 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -14,11 +14,11 @@ SYNOPSIS
 	  [--allow-binary-replacement | --binary] [--reject] [-z]
 	  [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached]
 	  [--ignore-space-change | --ignore-whitespace]
 	  [--whitespace=(nowarn|warn|fix|error|error-all)]
 	  [--exclude=<path>] [--include=<path>] [--directory=<root>]
-	  [--verbose] [--unsafe-paths] [<patch>...]
+	  [--verbose | --quiet] [--unsafe-paths] [<patch>...]
 
 DESCRIPTION
 -----------
 Reads the supplied diff output (i.e. "a patch") and applies it to files.
 When running from a subdirectory in a repository, patched paths
@@ -226,10 +226,15 @@ behavior:
 --verbose::
 	Report progress to stderr. By default, only a message about the
 	current patch being applied will be printed. This option will cause
 	additional information to be reported.
 
+-q::
+--quiet::
+	Suppress stderr output. Messages about patch status and progress
+	will not be printed.
+
 --recount::
 	Do not trust the line counts in the hunk headers, but infer them
 	by inspecting the patch (e.g. after editing the patch without
 	adjusting the hunk headers appropriately).
 
diff --git a/apply.c b/apply.c
index 64b226acd9..9f00f882a2 100644
--- a/apply.c
+++ b/apply.c
@@ -5071,11 +5071,11 @@ int apply_parse_options(int argc, const char **argv,
 			N_("don't expect at least one line of context")),
 		OPT_BOOL(0, "reject", &state->apply_with_reject,
 			N_("leave the rejected hunks in corresponding *.rej files")),
 		OPT_BOOL(0, "allow-overlap", &state->allow_overlap,
 			N_("allow overlapping hunks")),
-		OPT__VERBOSE(&state->apply_verbosity, N_("be verbose")),
+		OPT__VERBOSITY(&state->apply_verbosity),
 		OPT_BIT(0, "inaccurate-eof", options,
 			N_("tolerate incorrectly detected missing new-line at the end of file"),
 			APPLY_OPT_INACCURATE_EOF),
 		OPT_BIT(0, "recount", options,
 			N_("do not trust the line counts in the hunk headers"),
It is a bit surprising that this is the only change that is needed.

apply.h has

    enum apply_verbosity {
            verbosity_silent = -1,
            verbosity_normal = 0,
            verbosity_verbose = 1
    };

but OPT__VERBOSITY() cna take more than one --verbose or --quiet to
tune the verbosity level beyond the 1 and -1 limit.

I looked at the output from

    $ git grep -A3 -e '\([.]\|->\)apply_verbosity'

and made sure that there is no exact comparison with
verbosity_silent or verbosity_verbose, which means we are OK.

It would have saved time to have a note in the proposed log message
that the author already audited and found that the existing code is
ready to accept verbosity values outside the "enum apply_verbosity"
range.

Thanks, will queue.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help