[英]How to use Git tags with semantic versioning in mix.exs?
我們在git
中有一個使用標簽的私有存儲庫。 在我們的mix.exs
我們有以下內容:
defp deps do
[
{ :plug, "~> 1.0" },
{ :my_repo, git: "git@github.com:my_company/my_repo.git", tag: "1.0.0" }
]
end
現在,如果我只想要來自:my_repo
的1.0.0
版,那很好。 但是,如果我想要任何與 1.0.0 兼容的版本會怎樣? 原始文檔似乎沒有用於此的選項標志:
https://hexdocs.pm/mix/Mix.Tasks.Deps.html
這就是發生在{ :plug, "~> 1.0" },
事情。 在這里我說“提供與此兼容的任何 1.X 版本”。
對於 git repos,我想要同樣的東西。 檢查 git 文檔后,我知道使用-l
命令可以做到這一點:
https://git-scm.com/book/en/v2/Git-Basics-Tagging
git tag -l "1.8.5*"
將返回與 1.8.5 兼容的所有版本。
-l
選項傳遞給 mix.exs deps
函數?有沒有辦法將
-l
選項傳遞給mix.exs
deps 函數?
不是我所知道的。
如果沒有,我還有什么其他選擇?
我要么提出一個 PR 來mix
核心,要么只引入你自己的Mix.SCM
實現,以及現有的git
和path
,這將是Mix.SCM.Git
的精確復制粘貼,但允許 / Mix.SCM.Git
-l
選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.