Недавно я начал использовать Team Foundation Server, и у меня возникли проблемы с его работой, как я этого хочу.
Я использовал Subversion уже пару лет и люблю, как это работает. Я всегда настраивал три папки под каждым проектом, Trunk, теги и ветки.
Когда я работаю над проектом, весь мой код живет под папкой "C:\dev\projectname". Эта папка "имя-проекта" может быть сделана так, чтобы указывать либо на соединительную линию, либо на любую ветку или теги с помощью Subversion (с помощью команды switch).
Теперь, когда я использую TFS (моя клиентская система), я хотел бы, чтобы все работало одинаково. Я создал папку "Trunk" с моим проектом в ней и сопоставил "Project/Trunk/Website" с "c:\dev\Website".
Теперь я хочу сделать выпуск в папке "теги" (находится в "Project/tags/Version 1.0/Website", а TFS дает мне следующую ошибку при выполнении команды ветвления:
"Не существует соответствующего сопоставления для $Project/tags/Version 1.0/Website"
Из того, что я могу найти в Интернете, TFS ожидает, что вы будете иметь сопоставление с вашим жестким диском в корне проекта (папка "Проект" в моем случае), а затем иметь весь исходный код, который живет в ствол, теги и ветки, все снесенные на ваш жесткий диск. Это отстой, потому что для вашего жесткого диска требуется слишком много материала, а еще хуже, когда вы работаете в решении в Visual Studio, вы не сможете вывести "Версию 2.0" и все ссылки на проект на другие проекты работают, потому что все они будут указывать на папки "trunk" в основной папке, а не только на самой основной папке.
То, что я хочу сделать, это иметь корневую папку "Проект/Веб-сайт" на моем жестком диске и иметь возможность указывать (сопоставлять) теги, ветки или соединительные линии в зависимости от того, что я делаю, без необходимости прикручивать с помощью ссылок на проекты Visual Studio.
Идеи?