Расположение репозитория и редкие проверки - PullRequest
1 голос
/ 13 апреля 2010

Моя команда рассматривает возможность перехода от Clearcase к Subversion, и мы думаем об организации репозитория следующим образом:

 \trunk\project1
 \trunk\project2
 \trunk\project3

 \trunk\staticlib1
 \trunk\staticlib2
 \trunk\staticlib3

 \branches\..
 \tags\..

Проблема здесь в том, что у нас много проектов (1000+) и каждый проектэто DLL, которая связывает в нескольких общих статических библиотеках.Поэтому проверка всего в транке не является началом, так как это займет слишком много времени (~ 2 ГБ) и является громоздким для ветвления.

Использование svn: externals для извлечения соответствующих папок для каждого проекта не 'Это кажется идеальным, потому что в результате получается несколько рабочих копий - по одной для проекта и по одной для каждой папки статической библиотеки.Мы также не можем сделать атомарный коммит, если изменения охватывают проект и некоторые статические библиотеки.

Разреженные извлечения звучат очень подходящими для этого, так как мы можем написать сценарий для извлечения только необходимых каталогов.Однако, когда мы хотим объединить изменения из ветви обратно в магистраль, нам нужно сначала проверить полную магистраль.

Интересно, есть ли какой-нибудь совет относительно 1) лучшей организации хранилища или 2) пути кобъединить изменения ветви в рабочую копию магистрали, которая является разреженной?

1 Ответ

3 голосов
/ 13 апреля 2010

Относительно # 2

Даже если есть возможность выполнять слияния с редкими проверками, я бы не рекомендовал это. Слияния, выполненные в неполных или мелких рабочих копиях, приводят к созданию поддельной информации слияния. Слияние поддеревьев со временем становится большой неприятностью.

См .: Откуда появилась эта Mergeinfo?

Я рекомендую всегда объединять корень исходной ветви с корнем полной чистой рабочей копии целевой ветви. После разрешения любых конфликтов и любых других необходимых проверок я бы зафиксировал их в корне этой рабочей копии.

Если вы новичок в Subversion, я настоятельно рекомендую прочитать о реинтеграции веток, что такое рефлексивное слияние и, в общем, как работает mergeinfo. Подводный блог содержит много полезной информации, как и svn book .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...