Merge branch 'km/empty-repo-is-still-a-repo'
Running "git add" on a repository created inside the current repository is an explicit indication that the user wants to add it as a submodule, but when the HEAD of the inner repository is on an unborn branch, it cannot be added as a submodule. Worse, the files in its working tree can be added as if they are a part of the outer repository, which is not what the user wants. These problems are being addressed. * km/empty-repo-is-still-a-repo: add: error appropriately on repository with no commits dir: do not traverse repositories with no commits submodule: refuse to add repository with no commits
This commit is contained in:
@ -232,6 +232,13 @@ cmd_add()
|
||||
die "$(eval_gettext "'\$sm_path' already exists in the index and is not a submodule")"
|
||||
fi
|
||||
|
||||
if test -d "$sm_path" &&
|
||||
test -z $(git -C "$sm_path" rev-parse --show-cdup 2>/dev/null)
|
||||
then
|
||||
git -C "$sm_path" rev-parse --verify -q HEAD >/dev/null ||
|
||||
die "$(eval_gettext "'\$sm_path' does not have a commit checked out")"
|
||||
fi
|
||||
|
||||
if test -z "$force" &&
|
||||
! git add --dry-run --ignore-missing --no-warn-embedded-repo "$sm_path" > /dev/null 2>&1
|
||||
then
|
||||
|
||||
Reference in New Issue
Block a user