diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass index 42d6dbf6b326c..957ff08c296ba 100644 --- a/eclass/git-r3.eclass +++ b/eclass/git-r3.eclass @@ -362,8 +362,13 @@ _git-r3_set_submodules() { submodule."${subname}".update) [[ ${upd} == none ]] && continue + # https://github.com/git/git/blob/master/refs.c#L39 + # for now, we just filter /. because of #572312 + local enc_subname=${subname//\/.//_} + [[ ${enc_subname} == .* ]] && enc_subname=_${enc_subname#.} + submodules+=( - "${subname}" + "${enc_subname}" "$(echo "${data}" | git config -f /dev/fd/0 \ submodule."${subname}".url || die)" "$(echo "${data}" | git config -f /dev/fd/0 \