Альтернативный способ достижения такого же результата не использовать ключевое слово JOIN
.
UPDATE TABLE_A, TABLE_B
SET TABLE_A.column_c = TABLE_B.column_c + 1
WHERE TABLE_A.join_col = TABLE_B.join_col
Типичный путь состоит в том, чтобы создать каталог 'тега' в корне Вашего репозитория и скопировать всю соединительную линию в тот каталог. (Копирование является дешевым в Подверсии, потому что это просто добавляет ссылки на определенные изменения существующих файлов.)
Таким образом, Вы могли бы сказать:
svn cp http://svn.example.com/trunk/ http://svn.example.com/tags/major-revision-01/
См. книгу Подверсии для получения дополнительной информации, особенно главу тегов.
Все, что мы делаем, мы создаем ответвление. У нас есть стандартные корневые каталоги уровня: соединительная линия, теги, выпуски, ответвления.
Главное помнить состоит в том, что все ветвление просто похоже на создание копии, и все отклоняется соединительной линии, точно так же, как создают копию (за исключением того, что это - мелкая копия, только копируя дельты).
Для нас вся разработка сделана в соединительной линии. Если кто-то делает, майор переделывают, затем имеют тенденцию помещать его в ответвления. Главные версии помещаются в выпуски и все другие маркировки и объекты, которые мы хотим отметить, помещаются в папку тегов.
Для наших выпусков у нас есть следующая структура каталогов:
repository
+--trunk
+--releases
+--v1.0
+--v1.1
+--v1.4
+--v2.0
+--branches
+--tags
При использовании svn стандартной структуры, у Вас должны быть ответвления, теги и магистральная папка.
То, что Вы надеетесь делать, должно сделать копию текущей соединительной линии к папке в тегах.
Командная строка в качестве примера:
svn копируют mysvnurl/myproject/trunk mysvnurl/myproject/tags/majorrelease_01
попытайтесь читать эту страницу svn копия. В основном просто необходимо сделать копию svn
В CVS это назвали "тегом". SVN не использует отдельный механизм для тегов, он просто создает ответвление. Поэтому просто создайте новое ответвление и дайте ему описательное имя как "выпуск 1.2".
С другой стороны, ленивый путь состоял бы в том, чтобы записать текущее число пересмотра репозитория в текстовом файле ;)
Вот другая полезная идея. Используйте CruiseControl (или CruiseControl.NET) для автоматической маркировки в фиксированный интервал (т.е. ночью, или каждые 15 минут)