0

我将堆栈与 hpack 一起使用,以便.cabal从 hpack 的package.yaml. 很多时候,当我想切换分支时,我会为不断更改.cabal文件而苦苦挣扎。

  • 我跑git restore *.cabal。工作树处于未分级状态。
  • 在我跑步后立即git switch branch得到

错误:您对以下文件的本地更改将被结帐覆盖:Package.cabal

  • 错误消息是正确的,因为.cabal已更改,现在有未提交的更改。我没有观察确切的情况,但在这里我Paths_Package的分支之间有所不同。

为什么会这样?每次修改都会stack重新运行吗?在构建之前hpack重新计算还不够吗?.cabal

这种行为令人沮丧,我现在如何解决它是作为单个命令运行的:

git restore *.cabal && git switch branch

以上作品。它说明了重新计算的时刻是什么?

重要的

最后一件事是重新计算可以从不同的来源触发。我不记得它来自哪里,但我的终端在旁边显示堆栈项目的 ghc 版本。我对触发它的唯一想法是stack --bash-completion-script。我有来自 aur 的默认 manjaro zsh 配置和堆栈。在切换之前是否有一些守护进程正在等待进行一些更改?

提前致谢!

4

0 回答 0