Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 25, 2011 13:32:41

pento
От:
Зарегистрирован: 2007-05-29
Сообщения: 100
Репутация: +  0  -
Профиль   Отправить e-mail  

distutils, setup.py, svn и версия сборки пакета

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



Офлайн

#2 Сен. 25, 2011 23:05:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

distutils, setup.py, svn и версия сборки пакета

В ./svn/entries прописан путь откуда берутся файлы -это конечно Хак.
А так “svn info –revision HEAD”
см http://www.zorched.net/2006/07/20/getting-the-revision-number-of-your-subversion-working-copy/



Офлайн

#3 Сен. 28, 2011 23:35:46

pento
От:
Зарегистрирован: 2007-05-29
Сообщения: 100
Репутация: +  0  -
Профиль   Отправить e-mail  

distutils, setup.py, svn и версия сборки пакета

doza_and, спасибо! К сожадению, выглядит как не совсем удобное решение при сценарии сборки пакета:
1. svn export http://svn-host/svn/tags/someversion
2. python setup.py sdist

В таком случае не будет ни каких .svn. Сейчас остановился на варианте прописывания версии в одном месте - __init__.py пакета



Отредактировано (Сен. 28, 2011 23:36:45)

Офлайн

#4 Окт. 9, 2011 00:48:49

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

distutils, setup.py, svn и версия сборки пакета

Офлайн

#5 Окт. 24, 2011 23:34:08

pento
От:
Зарегистрирован: 2007-05-29
Сообщения: 100
Репутация: +  0  -
Профиль   Отправить e-mail  

distutils, setup.py, svn и версия сборки пакета

slav0nic
Спасибо, посмотрим! :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version