git - 如何在 mix.exs 中使用带有语义版本控制的 Git 标签?
问题描述
背景
我们有一个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 文档后,我知道可以使用以下-l
命令:
https://git-scm.com/book/en/v2/Git-Basics-Tagging
git tag -l "1.8.5*"
将返回与 1.8.5 兼容的所有版本。
问题
- 有没有办法将
-l
选项传递给 mix.exsdeps
函数? - 如果没有,我还有什么其他选择?
解决方案
有没有办法将
-l
选项传递给mix.exs
deps 函数?
不是我知道的。
如果没有,我还有什么其他选择?
我要么提出一个 PR 到mix
核心,要么只介绍你自己的Mix.SCM
实现,以及现有的git
andpath
,这将是一个精确的复制粘贴,Mix.SCM.Git
但允许 / 硬编码-l
选项。
推荐阅读
- python - “ImportError:导入 mariadb 时 DLL 加载失败:找不到指定的模块”的解决方法。
- php - GULP 4 - 使用 browsersync 和 PHP 提示下载
- javascript - 从数据库中获取对象数组并用反应显示它
- javascript - 新编译的 React 应用程序符合预期,后续运行表现出意外行为
- python - 如何让 Xlsxwriter 默认激活 Excel 工作表中的标题?
- python - 如何逐一比较分组中的字符串值
- xaml - Visual Studio 2019,XAML 这些属性符号是什么?
- reactjs - 是否可以暂停代码直到解决承诺?
- ruby-on-rails - Codecov 与 circleci 的集成
- c++ - 使用简单特征枚举类型的模板定义