Merge branch 'pb/recurse-submodules-fix'
Fix "git checkout --recurse-submodules" of a nested submodule hierarchy. * pb/recurse-submodules-fix: t/lib-submodule-update: add test removing nested submodules unpack-trees: check for missing submodule directory in merged_entry unpack-trees: remove outdated description for verify_clean_submodule t/lib-submodule-update: move a test to the right section t/lib-submodule-update: remove outdated test description t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED
This commit is contained in:
@ -1815,9 +1815,6 @@ static void invalidate_ce_path(const struct cache_entry *ce,
|
||||
/*
|
||||
* Check that checking out ce->sha1 in subdir ce->name is not
|
||||
* going to overwrite any working files.
|
||||
*
|
||||
* Currently, git does not checkout subprojects during a superproject
|
||||
* checkout, so it is not going to overwrite anything.
|
||||
*/
|
||||
static int verify_clean_submodule(const char *old_sha1,
|
||||
const struct cache_entry *ce,
|
||||
@ -2067,7 +2064,7 @@ static int merged_entry(const struct cache_entry *ce,
|
||||
}
|
||||
invalidate_ce_path(merge, o);
|
||||
|
||||
if (submodule_from_ce(ce)) {
|
||||
if (submodule_from_ce(ce) && file_exists(ce->name)) {
|
||||
int ret = check_submodule_move_head(ce, NULL,
|
||||
oid_to_hex(&ce->oid),
|
||||
o);
|
||||
@ -2096,7 +2093,7 @@ static int merged_entry(const struct cache_entry *ce,
|
||||
invalidate_ce_path(old, o);
|
||||
}
|
||||
|
||||
if (submodule_from_ce(ce)) {
|
||||
if (submodule_from_ce(ce) && file_exists(ce->name)) {
|
||||
int ret = check_submodule_move_head(ce, oid_to_hex(&old->oid),
|
||||
oid_to_hex(&ce->oid),
|
||||
o);
|
||||
|
Reference in New Issue
Block a user