在新的\u git\u存储库中更改build\u文件的内容会导致再次克隆

在新的\u git\u存储库中更改build\u文件的内容会导致再次克隆,git,bazel,Git,Bazel,工作区中声明了一个外部依赖项,如下所示: new\u git\u存储库( name=“someproj”, build_file=“/:external deps/someproj/build.someproj”, commit=“{commit hash}”, 远程=”https://somewhere.com/someproj.git", 浅_自=“111111111-0600”, ) 在BUILD.someproj中,当我更改一些目标(即更改名称、deps等)并运行bazel BUILD

工作区中声明了一个外部依赖项,如下所示:

new\u git\u存储库(
name=“someproj”,
build_file=“/:external deps/someproj/build.someproj”,
commit=“{commit hash}”,
远程=”https://somewhere.com/someproj.git",
浅_自=“111111111-0600”,
)
BUILD.someproj
中,当我更改一些目标(即更改名称、deps等)并运行
bazel BUILD something/dependent/dependen/someproj:depender时,bazel尝试从
https://somewhere.com/someproj.git
再来一次!然而,回购协议中没有任何内容发生变化。

它不应该缓存克隆的回购协议吗?因为它没有更改,但是构建文件正在对其进行操作。

构建.someproj
文件的内容是Bazel知道何时重新运行
new\u git\u repository
repository规则的校验和的一部分,以及
remote
commit
等其他属性。无效化算法与git无关,因为它适用于所有类型的存储库规则和所有属性

这可以通过集成git_存储库和Bazel的存储库缓存来改进。正在中跟踪功能请求