mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
Merge branch 'jk/maint-mv' into maint
* 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"
This commit is contained in:
commit
699eb54876
|
@ -15,8 +15,8 @@ DESCRIPTION
|
|||
-----------
|
||||
This script is used to move or rename a file, directory or symlink.
|
||||
|
||||
git mv [-f] [-n] <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
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue