Разрабатываю небольшой проект, который распространяю в виду архивов, сгенерированных distutils.
Исходные коды в svn, и под каждый релиз “по феншую” делаю отдельный тег, например 2.3. Проблема:
в коде как минимум в 2 местах есть вывод текущей версии программы, в том числе используется и в скрипте setup.py.
В идеале хотелось бы, что бы чистом виде он в коде вообще не встречался, а вставлялся при экспорте из svn самим svn. К сожалению, svn такое в чистом виде не умеет (keywords - весьма ограниченны). Разве что заскриптовать export. Текущее мнение - хранить всё-таки в коде номер версии __version__ (не ревиизии), например в имяпакета/__init__.py и потом его импортировать в setup.py и в остальных местах, где надо. Этот подход не удовлетворяет желание вообще не хранить номер версии в коде, ибо есть система svn, в которой и так эта информация фигурирует, но выглядит единственно рабочим и простым. Что скажете?