Формат, который я обычно использую, заключается в извлечении только той ветви, тега или ствола, которые мне нужны.
Конечно, я могу проверить несколько веток или даже одну и ту же ветку несколько раз, если мне нужно по какой-то причине.
Я не проверяю ветви и тэги всего проекта - это просто извращение. Мне нравится поощрять множество веток для экспериментов и работы, а также теги при каждой возможности. Сокращение всего этого, когда я заинтересован в <1% из них, было бы просто пустой тратой времени каждого. </p>
Для простоты я склонен помещать все эти рабочие копии в одну папку, названную так, чтобы я мог их идентифицировать:
например:
c:\development
\EmergencyFix-UICrash-V1.8
\Refactoring-ServerComponent
\NewCustomerUI
Под каждой рабочей копией это прямая копия ветки, как она появляется в хранилище. Важно, чтобы вы могли просто оформить ветку и иметь правильную структуру в рабочей копии на вашем диске. Если вам нужно вручную перемещать объекты, или копировать их в определенные места, или проверять разные вещи в разных местах, то это много информации о сборке, переносимой отдельно от вашего исходного кода (и обычно это только в ваших головах, обслуживание кошмарный сон!). Держите все это вместе, пусть ваш инструмент управления исходным кодом сделает тяжелую работу для этого, и у вас может быть шанс получить контроль над вашими сборками.
Если вы действительно не можете жить с рабочей копией, отражающей структуру ветви, svn: externals можно использовать для того, чтобы сократить разрыв контролируемым образом. Хотя я знаю, что некоторые чувствуют, что они являются анти-паттернами, я чувствую, что они предлагают бесценный и мощный вариант, если их использовать в здравом смысле.
Но будьте осторожны ... имея рабочую копию, представляющую собой смесь из двух десятков других проверок хранилища, ни одна из которых не гарантированно стабильно определена в нескольких местах, а изменение непредсказуемых случайных подкаталогов не приводит к нормальному использованию внешних объектов ...