[英]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.