СИТУАЦИЯ:
У меня есть библиотека python, которая управляется git и связана с distutils / setuptools.И я хочу автоматически генерировать номер версии на основе тегов git, как для setup.py sdist
и аналогичных команд, так и для самой библиотеки.
Для первой задачи я могу использовать git describe
или аналогичные решения (см. Как я могу получить версию, определенную в setup.py (setuptools) в моем пакете? ).
И когда, например, я нахожусь в теге '0.1' и вызываю 'setup.py sdist ', я получаю' mylib-0.1.tar.gz ';или «mylib-0.1-3-abcd.tar.gz», если я изменил код после пометки.Это нормально.
ПРОБЛЕМА ЕСТЬ:
Проблема возникает, когда я хочу, чтобы этот номер версии был доступен для самой библиотеки, чтобы он мог отправить его в UserHTTP-заголовок агента как «mylib / 0.1-3-adcd».
Если я добавлю команду setup.py version
, как в Как я могу получить версию, определенную в setup.py (setuptools) в моем пакете? , тогда этот version.py генерируется ПОСЛЕ создания тега, поскольку он использует тег в качестве значения.Но в этом случае мне нужно сделать еще один коммит после создания тега версии, чтобы код был согласованным.Что, в свою очередь, требует нового тега для дальнейшего связывания.
ВОПРОС:
Как разорвать этот круг зависимостей (generate-commit-tag-generateтег возьмут на -...)