Re: subversion --вопросы использования

Hi!

Программа довольно часто состоит из нескольких файлов. Hеобходима "версия" файла или проекта или его отдельной части ?

"Откуда" == $HeadURL$ SVN не имеет понятия что такое **версия** файла или любого другого примитива репозитория.

"Он" == $Revision$

Так и не понятно что надо на самом деле,

Дык чем $HeadURL$ не устраивает?

Сделай тег /tags/proj_name_1-00

Это и будет именем твоей версии, можешь простым числом

/tags/1.0.0

Как хотите, правила нумерации версии разрабатываются на уровне ведения проекта и зависят от его структуры. Версия отдельного файла сама по себе не интересна ("список версий" -- история фиксаций), важнее тег сборки.

Привычка, но не перед каждой, а после удачной сборки. ;-)

Вариантов море, svn -- инструмент. Hеобходимо определиться "что надо", разработать правила ведения репозитория(прописать их, следовать им) и может быть настроить инструмент по сборке проекта(make, perl, python, etc.)

Reply to
Sergey Pinigin
Loading thread data ...

Wed Jan 25 2006 09:03, Sergey Pinigin wrote to Kirill Frolov:

Разумеется "модуля" проекта. Кому бы могла понадобиться позапрошлогодняя версия файла? (однако, авторы svn считают иначе...)

Да. С одной оговоркой. Этот откуда может вообще на другую ветвь показывать. И по-своему будет прав. Потому как это откуда _для_файла_, ну а файл если одинаковый -- вполне корректное откуда, только не соответствующее действительности.

SP> SVN не имеет понятия что такое **версия** файла или любого другого SP> примитива репозитория.

Ага. $Rev$ и $URL$ именно с этими "версиями файлов" и работают...

Это даёт знание ОТКУДА ФАЙЛ МОЖНО ВЗЯТЬ. Копию. Точно такую же. Но не даёт знания ОТКУДА ЕГО ИЗВЛЕКЛИ В ДЕЙСТВИТЕЛЬНОСТИ. Вот здесь есть разница. Потому как соседний файл не всегда можно извлечь оттуда же, откуда и данный.

Как это делаете вы?

Если его touch постоянно?

SP> Как хотите, правила нумерации версии разрабатываются на уровне ведения SP> проекта и зависят от его структуры. Версия отдельного файла сама по себе SP> не интересна ("список версий" -- история фиксаций), важнее тег сборки.

По 5 минут морщить лоб выдумывая новый тэг. Хочется генератор, автоматический.

SP> Вариантов море, svn -- инструмент. Hеобходимо определиться "что надо", SP> разработать правила ведения репозитория(прописать их, следовать им) и SP> может быть настроить инструмент по сборке проекта(make, perl, python, SP> etc.)

Изобрёл скрипт. Номер версии формируется как номер ревизии для сборки из trunk, как имя тэга для сборки из tags и как комбинация номера ветви и ревизии для сборки из branches.

Что мне ОЧЕНЬ не нравится -- для этого нужен /usr/bin/svn. Как быть в случае использования TortoiseSVN? TortoiseProc.exe /command:blablabla там и svn тут. Всё через ()(). :-(

#!/bin/sh

svn info . | (

while read name val; do case "$name" in URL:) LOCATION=$val;; Revision:) REVISION=$val;; esac done

LOCATION=${LOCATION%/fluofot/lowlevel}; case $LOCATION in */trunk) version=$REVISION ;; *) version=${LOCATION##*/} case ${LOCATION%/*} in */tags) ;; */branches) version=$version-$REVISION ;; *) echo unknown repository path prefix $LOCATION >&2 exit 1 ;; esac esac

cat <<END #define VERSION "$version" END

)
Reply to
Kirill Frolov

Wed Jan 25 2006 09:03, Sergey Pinigin wrote to Kirill Frolov:

SP> Вариантов море, svn -- инструмент. Hеобходимо определиться "что надо", SP> разработать правила ведения репозитория(прописать их, следовать им) и SP> может быть настроить инструмент по сборке проекта(make, perl, python, SP> etc.)

А почему этот инструмент отказывается делать ответвление в TortoiseSVN для подкаталога? То есть он отказывается вообще в любом svn клиенте, на самом то деле. Но тогда возникает вопрос, зачем TortoiseSVN это предлагает. :-/

Адекватность сообщений об ошибках вызывает ужас. Особенно интересно как ему дать комментарий в команде /на русском языке/. С ключиком -m. Вот если из редактора -- работает. Из TortoiseSVN -- тоже. Из командной строки выдаёт какой-то бред качестве ошибки, на счёт невозможности перекодирования. А чем этот случай отличается от редактора? :-/ (система, разумеется, линух).

Reply to
Kirill Frolov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.