簡體   English   中英

如何在 mix.exs 中使用帶有語義版本控制的 Git 標簽?

[英]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_repo1.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 兼容的所有版本。

問題

  1. 有沒有辦法將-l選項傳遞給 mix.exs deps函數?
  2. 如果沒有,我還有什么其他選擇?

有沒有辦法將-l選項傳遞給mix.exs deps 函數?

不是我所知道的。

如果沒有,我還有什么其他選擇?

我要么提出一個 PR 來mix核心,要么只引入你自己的Mix.SCM實現,以及現有的gitpath ,這將是Mix.SCM.Git的精確復制粘貼,但允許 / Mix.SCM.Git -l選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM