Преобразование CVS в SVN - Как заменить функциональность CVS TAGS - PullRequest
4 голосов
/ 15 июля 2009


мы планируем перейти от CVS и к SVN.
Все выглядит хорошо, ожидайте, что наши разработчики делают теги pre / post для каждой заявки.
Итак, в CVS у нас нет проблем, поскольку TAGS интуитивно понятны и дешевы.
Тем не менее, в SVN Tag является копией права?
С учетом сказанного мне интересно, есть ли у меня способ сделать тег до и после, основанный на ревизиях, или что-то, к чему у меня есть доступ до моего представления.

Ответы [ 4 ]

2 голосов
/ 16 июля 2009

Небольшой комментарий о небольшой разнице между тегами CVS и SVN, которые могут вызвать некоторые проблемы при миграции (по крайней мере, это вызвало недопонимание в моей группе).

В CVS тег является своего рода временным снимком вашей разработки; вы обычно развиваетесь в ваш заголовок, и когда вы попадаете в стабильную ситуацию, которую хотите сохранить для дальнейшего использования, вы просто делаете тег. Если вы извлекаете версию тега из репозитория CVS, она не может быть изменена или, лучше сказать, может быть изменена в вашей локальной копии, но вы не можете зафиксировать изменения. В некотором смысле CVS автоматически защищает свои теги от случайных изменений

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

Надеюсь, что это поможет обсудить различия между SVN и CVS (и, пожалуйста, извинитесь за мой английский).

2 голосов
/ 15 июля 2009

Теги являются копией, но поскольку редакции основаны на дереве в Subversion, издержки на копирование намного меньше, чем в CVS. За подробностями обращайтесь к Subversion book . Как говорится в комментарии Ричарда, на этой странице есть рамка с описанием дешевых копий. Есть также этот сайт , в котором перечислены лучшие советы Subversion для пользователей CVS.

1 голос
/ 15 июля 2009

Тег является виртуальной копией. Думайте об этом как о символической ссылке в UNIX - это очень дешевая операция.

1 голос
/ 15 июля 2009

Я не уверен, правильно ли я понял вопрос, но вы можете пометить конкретную ревизию в svn:

$ svn cp -r  <url>/trunk <url>/tags/my_tag

См. Главу о svn copy в Контроль версий с Subversion для получения дополнительной информации. Приложение B. Subversion для пользователей CVS также стоит прочитать.

...