Вам следует просмотреть несколько первых глав онлайн-справочника Subversion по адресу http://svnbook.com. Это даст вам быстрый и хороший старт как для контроля версий, так и для Subversion.
То, что вы делаете, довольно близко к тому, как работает Subversion. У вас уже есть эти каталоги?
В стандартной настройке Subversion вы настраиваете каталог «теги», «ветви» и «магистраль». Некоторые люди настраивают их в корне своего репозитория, другие настраивают их в корне каждого проекта.
Например:
svn://svn/trunk/proj1
svn://svn/trunk/proj2
svn://svn/branches/proj1/1.2
svn://svn/branches/proj2/3.4
or
svn://svn/proj1/trunk
svn://svn/proj2/trunk
svn://svn/proj1/branches/1.2
svn://svn/proj2/branches/3.4
Большинство сайтов, которые я видел, делают это последним способом, но у первого способа могут быть преимущества (в основном из-за использования svn:externals
и того факта, что когда вы выполняете проверку, ваша проверка не называется trunk
по умолчанию).
Все, что вам нужно сделать, это вызвать каталог «старых версий» tags
, и все готово:
svn://svn/UI/tags/1.0
svn://svn/UI/tags/2.0
svn://svn/UI/tags/2.5
svn://svn/UI/trunk
Если вы забыли поставить бирку, не паникуйте! Одна из замечательных особенностей Subversion — номер версии репозитория. Это похоже на создание тега каждый раз, когда вы делаете коммит. Если вы можете найти номер версии, когда вы делали выпуск (обычно через просмотр svn log
), вы можете скопировать эту версию, чтобы создать свой тег:
$ svn cp -r1234 svn://svn/UI/trunk svn://svn/UI/tags/2.0
Как видите, вы используете команду svn cp
для создания тегов и ветвей. Кстати, очень легко изменить тег, не осознавая этого. На большинстве сайтов у них есть хук перед фиксацией, который либо может помешать большинству пользователей делать коммиты в каталоге тегов (это означает, что вы должны создать теги), либо позволяет пользователям создавать тег (через svn cp
), но не позволяет пользователям изменить тег после его создания. У меня есть Perl-версия хука предварительной фиксации по адресу http://dl.dropbox.com/u/433257/new_svn_hooks.zip, если вы хотите взглянуть на него.
person
David W.
schedule
23.11.2010