Программа довольно часто состоит из нескольких файлов. Hеобходима "версия" файла или проекта или его отдельной части ?
"Откуда" == $HeadURL$ SVN не имеет понятия что такое **версия** файла или любого другого примитива репозитория.
"Он" == $Revision$
Так и не понятно что надо на самом деле,
Дык чем $HeadURL$ не устраивает?
Сделай тег /tags/proj_name_1-00
Это и будет именем твоей версии, можешь простым числом
/tags/1.0.0
Как хотите, правила нумерации версии разрабатываются на уровне ведения проекта и зависят от его структуры. Версия отдельного файла сама по себе не интересна ("список версий" -- история фиксаций), важнее тег сборки.
Привычка, но не перед каждой, а после удачной сборки. ;-)
Вариантов море, svn -- инструмент. Hеобходимо определиться "что надо", разработать правила ведения репозитория(прописать их, следовать им) и может быть настроить инструмент по сборке проекта(make, perl, python, etc.)
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
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 -- тоже. Из командной строки выдаёт какой-то бред качестве ошибки, на счёт невозможности перекодирования. А чем этот случай отличается от редактора? :-/ (система, разумеется, линух).
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.