Самое главное - понять, почему был сделан выбор, и использовать команду, чтобы определить, хотите ли вы что-то изменить. Командные покупки важны для такого рода решений - и команда - это больше, чем просто разработчики. Деревья контроля исходного кода содержат такие вещи, как документация, тесты, ресурсы и т. Д., Поэтому существует законная вероятность того, что структура была определена несколькими сторонами, чтобы найти общий язык.
Мы также используем TFS там, где я работаю. У нас есть общая корневая папка с именем C: \ Source Control, которая является основной папкой, в которой живут все командные проекты. Этот выбор был сделан из-за крайней неприязни всех сторон к тому, что диск будет загроможден различными папками.
С TFS у вас есть возможность отобразить несколько рабочих пространств, поэтому на локальном компьютере вы делаете , а не , что определяется структурой на сервере. Мое личное предпочтение, а также предпочтение моей команды, состоит в том, чтобы использовать одно сопоставление рабочего пространства с корнем управления исходным кодом. Учитывая функциональность полок в TFS, не нужно беспокоиться о проверке нескольких копий, так как они могут быть отложены, если над чем-то еще нужно поработать.
Сервер сборки также имеет такое же сопоставление. Однако это никоим образом не соответствует структуре развертывания. Сборки отбрасываются на основании критериев проекта. Проблема возникает только тогда, когда используются абсолютные пути, например, в файлах конфигурации. Поскольку мы не используем абсолютные пути (по определению в наших рекомендациях для разработчиков), это не проблема.