Последний тег git не распознается при установке requirements.txt - PullRequest
1 голос
/ 06 мая 2020

У меня есть зависимость в моем файле requirements.txt от другого репозитория git (не моего, но у меня есть к нему доступ).

Вчера слил PR и после применил к нему тег v0.1.5. Последовательно я обновил требования к своим проектам до:

git+https://HASH@github.com/repowner/dependency_name.git@v0.1.5  

Зависимость установлена ​​без проблем. Однако я обнаружил ошибку и решил ее исправить. Я создал новую ветку, изменил версию в setup.py, присвоил тег v0.1.5b и использовал git push и git push --tags, все перед слиянием. (Я предположил, что это был правильный способ сделать это, вместо того, чтобы применять его позже)

Теперь я обновил свои требования до

git+https://HASH@github.com/repowner/dependency_name.git@v0.1.5b

Однако версия v.0.1.5 является той устанавливается, когда я выполняю pip install -r requirements.txt. Он не вызывает никаких ошибок, он просто игнорирует b в конце. Я попытался назначить тег мастеру, используя git tag -a v0.1.5b <commit_hash>, но получил результат:

fatal: tag 'v0.1.5b' already exists

Если я попытаюсь просто pu sh теги:

Everything up-to-date

I Я не уверен, что я не должен был использовать букву «b» в версии, или есть еще что-то, что я мог пропустить? Кто-нибудь может помочь мне это исправить? Было бы неплохо, если бы я мог решить эту проблему, не нажимая еще одну фиксацию (например, v.0.1.6), но я беру любое решение tbh.

1 Ответ

2 голосов
/ 07 мая 2020

Действительный Python publi c идентификаторы версий все заканчиваются на di git:

Publi c идентификаторы версии

Канонические идентификаторы версий publi c ДОЛЖНЫ соответствовать следующей схеме:

[N!]N(.N)*[{a|b|rc}N][.postN][.devN]`

Выбор схемы управления версиями намного легче читать, чем приведенный выше Описание PEP 440. Здесь также вы заметите, что все шаблоны заканчиваются на di git.

Учитывая, что вы не хотите увеличивать до v0.1.6, у вас есть следующие альтернативные варианты:

  • v0.1.5.post1
  • v0.1.5.dev1

Боковое примечание: чтобы переназначить тег, который вы уже создали, другой фиксации, используйте флаг -f на вашу команду git tag, а затем попробуйте этот pu sh еще раз.

...