git 提交的本地依赖项

Local dependency with git commit

在我的 stack.yaml 文件中,我想将依赖项添加到位于我计算机上的包中。

我可以这样做:

- location : ../Bwroga
  extra-dep: true

是否也可以指定一个提交?我知道如果包托管在 github 或 bitbucket 上我可以这样做,但我想保持对我的计算机的依赖。

我试过了:

- location :
    git: ../Bwroga
    commit: 039bd43313803a88c990af3ddcd6d75419ab44a1
  extra-dep: true

- location :
    git: ../Bwroga/bwroga.git
    commit: 039bd43313803a88c990af3ddcd6d75419ab44a1
  extra-dep: true

但出现错误,指出存储库不存在。

我也试过:

- location: ../Bwroga
  commit: 039bd43313803a88c990af3ddcd6d75419ab44a1
  extra-dep: true

编译通过了,但是说commit字段无法识别。

旁注:最好将您以后收到的错误消息包括在内。

我自己检查了一下,我知道为什么它不起作用。在克隆目标 repo 时,Stack 将首先更改为一个新的临时目录。然后,stack.yaml 文件中的相对路径不再有效。如果需要,您可以使用 stack.yaml 文件中的绝对路径解决此问题。

理论上,我们可以添加对 Stack 的支持,以检测是否已给出 repo 的相对路径并将其转换为绝对路径。但我认为需要更充分地制定用例以证明这种变化是合理的。我相信最常见的是您描述的方法是通过 Git 子模块处理的。