Show 67 quoted lines
> expose all of its functionality (unless it's designed for internal
> use). This "opts.quiet" (formerly "opts.gently") was added for
> builtin/checkout.c but there is no reason why other read-tree users
> won't find this useful.
>
> The test that is updated to run 'read-tree --quiet' was added because
> unpack-trees was accidentally not being quiet [1] in 6a143aa2b2
> (checkout -m: attempt merge when deletion of path was staged -
> 2014-08-12). Because checkout is the only "opts.quiet" user, there was
> no other way to test quiet behavior. But we can now test it directly.
>
> 6a143aa2b2 was manually reverted to verify that read-tree --quiet
> works correctly (i.e. test_must_be_empty fails).
>
> [1] the commit message there say "errors out instead of performing a
> merge" but I'm pretty sure the "performing a merge" happens anyway
> even before that commit. That line should say "errors out
> _in addition to_ performing a merge"
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
> Documentation/git-read-tree.txt | 4 ++++
> builtin/read-tree.c | 1 +
> t/t7201-co.sh | 3 +++
> 3 files changed, 8 insertions(+)
>
> diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
> index 5c70bc2878..1e81f9c4e6 100644
> --- a/Documentation/git-read-tree.txt
> +++ b/Documentation/git-read-tree.txt
> @@ -128,6 +128,10 @@ OPTIONS
> Instead of reading tree object(s) into the index, just empty
> it.
>
> +-q::
> +--quiet::
> + Quiet, suppress feedback messages.
> +
> <tree-ish#>::
> The id of the tree object(s) to be read/merged.
>
> diff --git a/builtin/read-tree.c b/builtin/read-tree.c
> index 9083dcfa28..5c9c082595 100644
> --- a/builtin/read-tree.c
> +++ b/builtin/read-tree.c
> @@ -154,6 +154,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
> { OPTION_CALLBACK, 0, "recurse-submodules", NULL,
> "checkout", "control recursive updating of submodules",
> PARSE_OPT_OPTARG, option_parse_recurse_submodules_worktree_updater },
> + OPT__QUIET(&opts.quiet, N_("suppress feedback messages")),
> OPT_END()
> };
>
> diff --git a/t/t7201-co.sh b/t/t7201-co.sh
> index 72b9b375ba..f165582019 100755
> --- a/t/t7201-co.sh
> +++ b/t/t7201-co.sh
> @@ -223,6 +223,9 @@ test_expect_success 'switch to another branch while carrying a deletion' '
> test_must_fail git checkout simple 2>errs &&
> test_i18ngrep overwritten errs &&
>
> + test_must_fail git read-tree --quiet -m -u HEAD simple 2>errs &&
> + test_must_be_empty errs &&
> +
> git checkout --merge simple 2>errs &&
> test_i18ngrep ! overwritten errs &&
> git ls-files -u &&