现状 公司当前使用 GitLab 版本 为 10.6.5 使用 Go Module 拉取 GitLab 中 个人目录下的项目 能够正常工作 使用 Go Module 拉取 GitLab 中 SubGroup/SubDirect 不能够正常工作 go get 解析到的地址为 gitlab.supos.ai/$GROUP/$SUBGROUP 用于拉取项目目录 解析到的地址有误 不能进行后续动作 问题 背景 go get 查找 repo root 方式 go get -u -v gitlab.supos.ai/supos/datalake/common/log get "gitlab.supos.ai/supos/datalake": found meta tag get.metaImport{Prefix:"gitlab.supos.ai/supos/datalake", VCS:"git", RepoRoot:"http://gitlab.supos.ai/supos/datalake.git"} at //gitlab.supos.ai/supos/datalake?go-get=1 get "gitlab.supos.ai/supos/datalake/common": found meta tag get.metaImport{Prefix:"gitlab.supos.ai/supos/datalake/common", VCS:"git", RepoRoot:"http://gitlab.supos.ai/supos/datalake/common.git"} at //gitlab.supos.ai/supos/datalake/common?go-get=1 get "gitlab.supos.ai/supos/datalake/common/log": found meta tag get.metaImport{Prefix:"gitlab.supos.ai/supos/datalake/common", VCS:"git", RepoRoot:"http://gitlab.supos.ai/supos/datalake/common.git"} at //gitlab.supos.ai/supos/datalake/common/log?go-get=1 get "gitlab.supos.ai/supos/datalake/common/log": verifying non-authoritative meta tag go: finding gitlab.supos.ai/supos/datalake/common/log latest gitlab.supos.ai/supos/datalake/common/log 由 log 可见 查找 repo root 的过程是根据 路径级别 递归查找 当进入 repo 的 subdir 时 返回的 RepoRoot 仍旧指向 repo 而非 其 subdir go get 携带认证信息的方式 源码位置
...