Haskell git提交的本地依赖性
在我的stack.yaml文件中,我想向位于我的计算机上的包添加依赖项 我可以这样做: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
- 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,这应该是可能的,而且不太难更改。谢谢。我对绝对路径很在行,太棒了@谢谢你!