我们在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
现在,如果我只想要1.0.0
中的:my_repo
版本,那就很好了。
但是,如果我想要任何与1.0.0兼容的版本会怎样?原始文档似乎对此没有选项标记:
https://hexdocs.pm/mix/Mix.Tasks.Deps.html
这就是{ :plug, "~> 1.0" },
中发生的事情。在这里,我说“ 给出与此版本兼容的任何1.X版本”。
我想要git repos同样的东西。在检查git docs之后,我知道可以使用-l
命令:
https://git-scm.com/book/en/v2/Git-Basics-Tagging
git tag -l "1.8.5*"
将返回与1.8.5兼容的所有版本。
-l
选项传递给mix.exs deps
函数?答案 0 :(得分:1)
是否可以将
-l
选项传递给mix.exs
deps函数?
我不知道。
如果没有,我还有什么其他选择?
我会建议对mix
的核心进行公关,或者只是介绍您自己的Mix.SCM
实现以及existing git
and path
,这将是对Mix.SCM.Git
的精确粘贴。但允许/硬编码-l
选项。