# [PATCH 2/2] git-remote: add verbose mode to git remote update

2 messages from 2008-11-18 to 2008-11-19. Participants: crquan@gmail.com, Junio C Hamano.
Thread: https://gitlist.dev/t/16379

## crquan@gmail.com, 2008-11-18 11:04

Subject: [PATCH 2/2] git-remote: add verbose mode to git remote update
Message-ID: <1227006242-21290-1-git-send-email-crquan@gmail.com>
URL: https://gitlist.dev/e/1227006242-21290-1-git-send-email-crquan%40gmail.com

```
From: Cheng Renquan <crquan@gmail.com>

Pass the verbose mode parameter to the underlying fetch command.

  $ ./git remote -v update
  Updating origin
  From git://git.kernel.org/pub/scm/git/git
   = [up to date]      html       -> origin/html
   = [up to date]      maint      -> origin/maint
   = [up to date]      man        -> origin/man
   = [up to date]      master     -> origin/master
   = [up to date]      next       -> origin/next
   = [up to date]      pu         -> origin/pu
   = [up to date]      todo       -> origin/todo

Signed-off-by: Cheng Renquan <crquan@gmail.com>
---

To Junio:
  I found that fetch's verbose mode will dump the url, that's really
what I need, so with passing verbose mode to fetch, the fetch_remote
function doesn't need a url parameter, and changes to get_one_remote_for_update
are also not required.
  So now the patch looks very simple.

 builtin-remote.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/builtin-remote.c b/builtin-remote.c
index 14774e3..0af742b 100644
--- a/builtin-remote.c
+++ b/builtin-remote.c
@@ -14,7 +14,7 @@ static const char * const builtin_remote_usage[] = {
 	"git remote rm <name>",
 	"git remote show [-n] <name>",
 	"git remote prune [-n | --dry-run] <name>",
-	"git remote update [group]",
+	"git remote update [-v | --verbose] [group]",
 	NULL
 };
 
@@ -42,7 +42,11 @@ static int opt_parse_track(const struct option *opt, const char *arg, int not)
 
 static int fetch_remote(const char *name)
 {
-	const char *argv[] = { "fetch", name, NULL };
+	const char *argv[] = { "fetch", name, NULL, NULL };
+	if (verbose) {
+		argv[1] = "-v";
+		argv[2] = name;
+	}
 	printf("Updating %s\n", name);
 	if (run_command_v_opt(argv, RUN_GIT_CMD))
 		return error("Could not fetch %s", name);
-- 
1.6.0.4.757.g6d002.dirty

```

## Junio C Hamano, 2008-11-19 01:53

Subject: Re: [PATCH 2/2] git-remote: add verbose mode to git remote update
Message-ID: <7vod0ctrak.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vod0ctrak.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <1227006242-21290-1-git-send-email-crquan@gmail.com>

```
crquan@gmail.com writes:

> From: Cheng Renquan <crquan@gmail.com>
>
> Pass the verbose mode parameter to the underlying fetch command.
>
>   $ ./git remote -v update
>   Updating origin
>   From git://git.kernel.org/pub/scm/git/git
>   ...
> Signed-off-by: Cheng Renquan <crquan@gmail.com>
> ---
>   So now the patch looks very simple.

Indeed it does ;-), but there still is a minor nit.

> +	"git remote update [-v | --verbose] [group]",

Notice the difference between the example in your commit log message and
the help text?

I think "git remote [options] [cmd] [more options]" which is the current
option parser seems to try doing is very misguided, and a longer term
fix-up might be to redo the cmd_remote() option parser, but in the short
term, let's apply your patch with the following minor fixup:

diff --git c/builtin-remote.c w/builtin-remote.c
index 0af742b..abc8dd8 100644
--- c/builtin-remote.c
+++ w/builtin-remote.c
@@ -14,7 +14,7 @@ static const char * const builtin_remote_usage[] = {
 	"git remote rm <name>",
 	"git remote show [-n] <name>",
 	"git remote prune [-n | --dry-run] <name>",
-	"git remote update [-v | --verbose] [group]",
+	"git remote [-v | --verbose] update [group]",
 	NULL
 };
 

```
