a88c915de9
When moving a submodule which uses a gitfile to point to the git directory stored in .git/modules/<name> of the superproject two changes must be made to make the submodule work: the .git file and the core.worktree setting must be adjusted to point from work tree to git directory and back. Achieve that by remembering which submodule uses a gitfile by storing the result of read_gitfile() of each submodule. If that is not NULL the new function connect_work_tree_and_git_dir() is called after renaming the submodule's work tree which updates the two settings to the new values. Extend the man page to inform the user about that feature (and while at it change the description to not talk about a script anymore, as mv is a builtin for quite some time now). Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
git-mv(1)
|
|
=========
|
|
|
|
NAME
|
|
----
|
|
git-mv - Move or rename a file, a directory, or a symlink
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git mv' <options>... <args>...
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
Move or rename a file, directory or symlink.
|
|
|
|
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>.
|
|
In the second form, the last argument has to be an existing
|
|
directory; the given sources will be moved into this directory.
|
|
|
|
The index is updated after successful completion, but the change must still be
|
|
committed.
|
|
|
|
OPTIONS
|
|
-------
|
|
-f::
|
|
--force::
|
|
Force renaming or moving of a file even if the target exists
|
|
-k::
|
|
Skip move or rename actions which would lead to an error
|
|
condition. An error happens when a source is neither existing nor
|
|
controlled by Git, or when it would overwrite an existing
|
|
file unless '-f' is given.
|
|
-n::
|
|
--dry-run::
|
|
Do nothing; only show what would happen
|
|
|
|
-v::
|
|
--verbose::
|
|
Report the names of files as they are moved.
|
|
|
|
SUBMODULES
|
|
----------
|
|
Moving a submodule using a gitfile (which means they were cloned
|
|
with a Git version 1.7.8 or newer) will update the gitfile and
|
|
core.worktree setting to make the submodule work in the new location.
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|