git commit的本地依赖

时间:2019-06-12 19:54:20

标签: haskell haskell-stack

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

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

1 个答案:

答案 0 :(得分:1)

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

我只是亲自检查了一下,因此可以理解为什么它不起作用。克隆目标存储库时,Stack将首先更改为新的临时目录。然后,stack.yaml文件中的相对路径不再有效。如果需要,可以使用stack.yaml文件中的绝对路径来解决此问题。

从理论上讲,我们可以为Stack添加支持,以检测已提供到仓库的相对路径,并将其转换为绝对路径。但是我认为用例需要更充分地设计以证明这种改变是合理的。我相信,您所描述的方法通常是通过Git子模块处理的。