[英]Pull latest version of package from git
我正在使用 Haskell Stack,我正在構建的包的源代碼在 git 上。 我的stack.yaml
看起來像這樣:
packages:
- location:
git: git@github.com:mhwombat/blah-blah-blah.git
commit: master
. . .
一切都很好。 但是,假設在存儲庫中更新了源代碼。 Stack 不獲取最新版本; 它繼續使用它已有的版本。 到目前為止,我的解決方案是刪除.stack-work
並執行另一個stack build
,但當然它必須重建所有內容。 當您使用鏡頭時,這需要很長時間。
有沒有辦法強制 Stack 從 git 獲取最新版本?
已經嘗試過stack update
和stack clean
,但他們沒有解決這個問題。
有一種方法,但它是乏味的,而不是 master 作為提交,放置最新提交的 SHA1。 您可以通過運行獲得最新的提交:
git rev-parse origin/master
輸出應如下所示: de7059a7a7c81c9c8997cad6dce7cdbd5b6c09d9
然后在您的 stack.yaml 中放置:
packages:
- location:
git: git@github.com:mhwombat/blah-blah-blah.git
commit: de7059a7a7c81c9c8997cad6dce7cdbd5b6c09d9
. . .
當您運行stack build
時,您將“強制”堆棧獲取最新提交,而無需再刪除.stack-work
。 它不像單個命令那么簡單,但它對我有用並且不太煩人,作為對我的獎勵,它幫助我凍結了依賴項。 這是可編寫腳本的,因為它只使用 git,盡管我編寫腳本還不夠乏味。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.