Haskell git提交的本地依赖性

Haskell git提交的本地依赖性,haskell,haskell-stack,Haskell,Haskell Stack,在我的stack.yaml文件中,我想向位于我的计算机上的包添加依赖项 我可以这样做: - location : ../Bwroga extra-dep: true 是否也可以指定提交?我知道如果包托管在github或bitbucket上,我可以这样做,但我希望保持对计算机的依赖性 我试过: - location : git: ../Bwroga commit: 039bd43313803a88c990af3ddcd6d75419ab44a1 extra-dep: tr

在我的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

它已编译,但表示无法识别提交字段。

旁注:最好包含将来收到的错误消息


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


理论上,我们可以在堆栈中添加支持,以检测到已给出回购协议的相对路径,并将其转换为绝对路径。但我认为需要更充分地制定用例,以证明这样的更改是合理的。我相信您描述的方法通常是通过Git子模块处理的。

我希望Git需要一个裸存储库,而不是一个有工作树的存储库。“克隆目标回购时,堆栈将首先更改为一个新的临时目录”-为什么
git clone
支持被告知要克隆到哪个目录。如果您有兴趣发送PR,这应该是可能的,而且不太难更改。谢谢。我对绝对路径很在行,太棒了@谢谢你!