SVN 1.5|Tortoise SVN 1.5 Переход на branches|tags
От: DuШes  
Дата: 22.07.08 08:30
Оценка:
Очень интересная тема была поднята на:

http://rsdn.ru/forum/message/2630147.flat.aspx#2630147
Автор: mr.sashich
Дата: 22.08.07


Очень много полезного для себя понял из обсуждения, увидел интересные подходы, участникам обсуждения огромное спасибьо за участие и советы;

Сам сейчас занимаюсь организацией перехода на использование branch|merge механизма, так как до этого пока работали только в trunc, но возникла необходимость в versioning продукта;
сам продукт представляет собой большее решение visual studio 2008 pro edition (no team suite), в котором есть web application (соотвественно, большая коллекция ресурсов, не входящих в solution, но имеющих место в репозитарии, также смапленный на iis development web site),
есть несколько win services, есть отдельный проект project.database для ms sql server management studio — пишу для того чтобы описать текущую ситуацуию и трудности, которые как мне кажется могут возникнуть;

структура репозитария пока приблизительно такая:


project repository:
  win service 1
  win service 2
  web application (resources, images & etc.)



как я понимаю, текущая структура должна остаться trunc-ом, для выделения в репозитарии отдельной ветки под релиз будут использоваться ветки tags, например, /tags/release 1.0, /tags/release 2.0 и так далее, для выделения ветки для решения каких-то отдельных задач, фиксов будут выделяться соотвествующие ветки /brunches/task 1, /brunches/task 2, /brunches/task 3 и так далее, таким образом структура репозитария в дальнейшем будет приблизительно такая:


project repository:
  win service 1
  win service 2
  web application (resources, images & etc.) 
  /tags/release 1.0 
        release 2.0
  /brunches/task 1
            task 2
            task 3


(здесь первые три ветки win service 1, win service 2, web application (resources, images & etc.) ) как я и говорил пока остаются trunc без копирования в отдельную ветку trunc;

Вопросы собственно следующие:

1. на клиенте у разработчика используется tortoise svn 1.5, для того чтобы переключиться ему в ветку brunch/task ему нужно сделать switch на эту ветку как я понимаю? таким образом рабочая структура, его настройки в iis, остаются без изменений — просто хочется уточнить, порядок работы именно такой?

2. сейчас рабочая копия на клиенте (work copy) представляет собой следующую картину:


work copy:
  win service 1
  win service 2
  web application (resources, images & etc.)



означает ли что в связи с переходом на branches, tags (после выделения отдельных ветвей) структура рабочего каталога изменится в такую сторону:


work copy:
  win service 1
  win service 2
  web application (resources, images & etc.) 
  /tags/release 1.0 
        release 2.0
  /brunches/task 1
            task 2
            task 3




т.е. речь о чем, каждая подпапка release, task будет полной копией репозитария? просто лично у меня, когда я сделал branch при помощи tortoise в репозитарии была выделена отдельная ветка, в которой, если смотреть через browser, полная копия моего trunc, хотя по документации к subversion говорится, что он хранит только ссылки на файлы;

3. к предыдущему вопросу: после выделения ветки под бранчи и теги, если я делаю update на самом каталоге work copy на клиенте у разработчика, у меня затягиваются все эти ветки с полной копией trunc — так и должно быть? или обязательно update делать только на тех каталогах/каталоге рабочей копиии, который является trunc? просто последнее мне непонятно — если subversion хранит только ссылки, то я предполагал, что сделав update на всей work copy я пусть бы и получил бы каталоги branches/task N, но только бы с теми файлыми, в которых имело место изменения или которые вновь добавлены в бранч; просто прошу понять меня правильно, решение очень объемное и не хотелось бы на каждый релиз/баг/фикс иметь полную копию решения;



вот собственно пока такие вопросы, прошу прощения за сумбурность, но наверно пока изза отсутствия опыта работы с ветками не смог сформулировать вопросы более точно;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.