Re: [PATCH 2/5] mv: honor --verbose flag
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 12, 2011, 19:53 UTC
- Message-ID
- <7vwra136tj.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20111212075124.GB17532@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 9 quoted lines
> The code for a verbose flag has been here since "git mv" was > converted to C many years ago, but actually getting the "-v" > flag from the command line was accidentally lost in the > transition. > > Signed-off-by: Jeff King <peff@peff.net> > --- > This has been broken since 2006, so I guess nobody really cares. But > it's simple to fix.
Heh. It means nobody exercised the codepaths that are inside "if (verbose)", so it may uncover old bugs, no?
Show 42 quoted lines
> Documentation/git-mv.txt | 8 ++++++--
> builtin/mv.c | 1 +
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.txt
> index 4be7a71..e3c8448 100644
> --- a/Documentation/git-mv.txt
> +++ b/Documentation/git-mv.txt
> @@ -15,8 +15,8 @@ DESCRIPTION
> -----------
> This script is used to move or rename a file, directory or symlink.
>
> - git mv [-f] [-n] [-k] <source> <destination>
> - git mv [-f] [-n] [-k] <source> ... <destination directory>
> + git mv [-v] [-f] [-n] [-k] <source> <destination>
> + git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
>
> In the first form, it renames <source>, which must exist and be either
> a file, symlink or directory, to <destination>.
> @@ -40,6 +40,10 @@ OPTIONS
> --dry-run::
> Do nothing; only show what would happen
>
> +-v::
> +--verbose::
> + Report the names of files as they are moved.
> +
> GIT
> ---
> Part of the linkgit:git[1] suite
> diff --git a/builtin/mv.c b/builtin/mv.c
> index 5efe6c5..11abaf5 100644
> --- a/builtin/mv.c
> +++ b/builtin/mv.c
> @@ -59,6 +59,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
> int i, newfd;
> int verbose = 0, show_only = 0, force = 0, ignore_errors = 0;
> struct option builtin_mv_options[] = {
> + OPT__VERBOSE(&verbose, "be verbose"),
> OPT__DRY_RUN(&show_only, "dry run"),
> OPT__FORCE(&force, "force move/rename even if target exists"),
> OPT_BOOLEAN('k', NULL, &ignore_errors, "skip move/rename errors"),