From: Junio C Hamano Date: Tue, 20 Dec 2011 00:05:34 +0000 (-0800) Subject: Merge branch 'jk/maint-mv' X-Git-Tag: v1.7.9-rc0~50 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=b052781fef2f978ba9cc55d6de942bb779bd54ac;hp=ab2fadefaba58de4229f6d31a1da9f285139be6a;p=git.git Merge branch 'jk/maint-mv' * jk/maint-mv: mv: be quiet about overwriting mv: improve overwrite warning mv: make non-directory destination error more clear mv: honor --verbose flag docs: mention "-k" for both forms of "git mv" --- diff --git a/Documentation/git-mv.txt b/Documentation/git-mv.txt index b8db37396..e3c844861 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] - git mv [-f] [-n] [-k] ... + git mv [-v] [-f] [-n] [-k] + git mv [-v] [-f] [-n] [-k] ... In the first form, it renames , which must exist and be either a file, symlink or directory, to . @@ -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 5efe6c576..2a144b011 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"), @@ -93,7 +94,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix) destination = copy_pathspec(dest_path[0], argv, argc, 1); } else { if (argc != 1) - usage_with_options(builtin_mv_usage, builtin_mv_options); + die("destination '%s' is not a directory", dest_path[0]); destination = dest_path; } @@ -176,7 +177,8 @@ int cmd_mv(int argc, const char **argv, const char *prefix) * check both source and destination */ if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) { - warning(_("%s; will overwrite!"), bad); + if (verbose) + warning(_("overwriting '%s'"), dst); bad = NULL; } else bad = _("Cannot overwrite");