Add the '--quiet' option to git worktree add,
as for the other git commands.

Signed-off-by: Elia Pinto <gitter.spi...@gmail.com>
---
 Documentation/git-worktree.txt |  4 +++-
 builtin/worktree.c             | 11 +++++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index 9c26be40f..508cde55c 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -115,7 +115,9 @@ Unlock a working tree, allowing it to be pruned, moved or 
deleted.
 
 OPTIONS
 -------
-
+-q::
+--quiet::
+       With 'add', suppress feedback messages.
 -f::
 --force::
        By default, `add` refuses to create a new working tree when
diff --git a/builtin/worktree.c b/builtin/worktree.c
index a763dbdcc..c47feb4a4 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -27,6 +27,7 @@ static const char * const worktree_usage[] = {
 struct add_opts {
        int force;
        int detach;
+       int quiet;
        int checkout;
        int keep_locked;
 };
@@ -315,6 +316,9 @@ static int add_worktree(const char *path, const char 
*refname,
                cp.argv = NULL;
                argv_array_clear(&cp.args);
                argv_array_pushl(&cp.args, "reset", "--hard", NULL);
+               if (opts->quiet)
+                       argv_array_push(&cp.args, "--quiet");
+               printf("%s\n","soo qia");
                cp.env = child_env.argv;
                ret = run_command(&cp);
                if (ret)
@@ -437,6 +441,7 @@ static int add(int ac, const char **av, const char *prefix)
                OPT_BOOL(0, "detach", &opts.detach, N_("detach HEAD at named 
commit")),
                OPT_BOOL(0, "checkout", &opts.checkout, N_("populate the new 
working tree")),
                OPT_BOOL(0, "lock", &opts.keep_locked, N_("keep the new working 
tree locked")),
+               OPT__QUIET(&opts.quiet, N_("suppress progress reporting")),
                OPT_PASSTHRU(0, "track", &opt_track, NULL,
                             N_("set up tracking mode (see git-branch(1))"),
                             PARSE_OPT_NOARG | PARSE_OPT_OPTARG),
@@ -491,8 +496,8 @@ static int add(int ac, const char **av, const char *prefix)
                        }
                }
        }
-
-       print_preparing_worktree_line(opts.detach, branch, new_branch, 
!!new_branch_force);
+       if (!opts.quiet)
+               print_preparing_worktree_line(opts.detach, branch, new_branch, 
!!new_branch_force);
 
        if (new_branch) {
                struct child_process cp = CHILD_PROCESS_INIT;
@@ -500,6 +505,8 @@ static int add(int ac, const char **av, const char *prefix)
                argv_array_push(&cp.args, "branch");
                if (new_branch_force)
                        argv_array_push(&cp.args, "--force");
+               if (opts.quiet)
+                       argv_array_push(&cp.args, "--quiet");
                argv_array_push(&cp.args, new_branch);
                argv_array_push(&cp.args, branch);
                if (opt_track)
-- 
2.18.0.721.gc1f18ed

Reply via email to