Как использовать теги Git с семантической версией в mix.exs? - PullRequest
0 голосов
/ 02 ноября 2018

Фон

У нас есть частный репозиторий в 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-репозиториев. После проверки документации git я знаю, что это возможно с помощью команды -l:

https://git -scm.com / книга / ен / v2 / Git-Basics-Tagging

git tag -l "1.8.5*" вернет все версии, совместимые с 1.8.5.

Вопросы

  1. Есть ли способ передать параметр -l в функцию mix.exs deps?
  2. Если нет, какие еще варианты у меня есть?

1 Ответ

0 голосов
/ 02 ноября 2018

Есть ли способ передать опцию -l в функцию mix.exs deps?

Не то, что я знаю.

Если нет, какие еще варианты у меня есть?

Я бы предложил PR для ядра mix или просто представил бы собственную реализацию Mix.SCM вместе с существующими git и path, которая была бы точной копией-вставкой из Mix.SCM.Git, но с разрешением / жестким кодированием -l опция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...