]> git.ipfire.org Git - thirdparty/git.git/commit - git-submodule.sh
submodule: add absorb-git-dir function
authorStefan Beller <sbeller@google.com>
Mon, 12 Dec 2016 19:04:35 +0000 (11:04 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Dec 2016 23:15:07 +0000 (15:15 -0800)
commitf6f858614003a3da794385cefdbddf00b85f7501
treee62a35068d126bc51f6ab83651b57077ba794e29
parent47e83eb3b7d5410769d7f4d3930ba7fa12915680
submodule: add absorb-git-dir function

When a submodule has its git dir inside the working dir, the submodule
support for checkout that we plan to add in a later patch will fail.

Add functionality to migrate the git directory to be absorbed
into the superprojects git directory.

The newly added code in this patch is structured such that other areas of
Git can also make use of it. The code in the submodule--helper is a mere
wrapper and option parser for the function
`absorb_git_dir_into_superproject`, that takes care of embedding the
submodules git directory into the superprojects git dir. That function
makes use of the more abstract function for this use case
`relocate_gitdir`, which can be used by e.g. the worktree code eventually
to move around a git directory.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-submodule.txt
builtin/submodule--helper.c
dir.c
dir.h
git-submodule.sh
submodule.c
submodule.h
t/t7412-submodule-absorbgitdirs.sh [new file with mode: 0755]