Для этого есть еще несколько моментов.
tags
дерева (и это, как правило, дерево) содержит гипотетический неизменные снимки вашего кода в определенный момент времени; это не то, что вы хотите изменить, так как большинство развертываний будут основаны на бирках
- Большинство клиентов Subversion жалуются, если вы попытаетесь совершить изменения в
tags
дерева, вместо того, чтобы просто скопировать в него
- Для большинства целей,
trunk
- частный случай каталогов под branches
; единственное существенное различие заключается в том, что он должен содержать основной путь развития.
Обычно нет причин для проверки всего проекта, как указывали другие, поскольку большую часть времени вы работаете только ствол и одна или две ветки, и весь проект может съесть значительное количество дискового пространства. Главное развитие «отрасли» - это, скорее всего, единственное, что вам нужно.
Вот пример реального мира. Наша команда делает все изменения кода в отношении багажника. Когда нам нужна альфа-версия (pre-complete), мы просто отмечаем багажник. Как только мы нажмем «code complete» для данной версии, мы создаем ветвь «замораживание кода», где мы делаем все наши изменения в версии. Бета-версии и RC-релизы помечены из этой ветви. Если нам нужно исправить выпуск GA, патч будет сделан против ветки и объединен с багажником. Таким образом, нам не нужно беспокоиться о том, что новый код протекает в тестируемом и одобренном GA, если нам нужно исправить что-то конкретное. Это также позволяет нам начать работу над следующей версией программного обеспечения, как только код будет заморожен.
Кроме того, если есть побочный проект, который является внеполосным для соединительной линии, вы можете создать ветвь для этого и объединить его, когда будете готовы.
Некоторые команды любят создавать ветку для каждой ошибки, а некоторые работают непосредственно на багажнике (как у меня). Если ваша команда делает ошибку в ветке, я никогда не проверю весь проект. Среди прочего, я бы увидел целый код, на который мне было бы безразлично.
Кроме того, просто пункт управления хранилищем, упомянутый @humble_coder
- большинство инструментов Subversion довольно просты в использовании, когда дело доходит до управления веткой/тегом. Например, TortoiseSVN имеет браузер репозитория, который позволяет вам легко копировать вещи (создание ветвей и тегов), и даже инструмент командной строки svn можно использовать для выполнения той же самой операции, что и атомная операция (у нас есть сценарий который создает либо альфа-теги, ветвь замораживания кода, либо теги релиза после замораживания).
Надеюсь, это поможет!
А, так что, если бы я был руководителем проекта, я мог бы проверить все, чтобы обрабатывать ветки и т. Д.? –
Вы можете, но вы также можете проверить только ту часть или отдельную ветвь и использовать команду 'svn switch', чтобы переключить рабочую копию из одной ветви в тубу. Вы можете обнаружить, что проверка всего проекта съест много дискового пространства, более того, если вы часто используете теги и ветви. – pgb