TFS и IIS - контроль версий - PullRequest
       0

TFS и IIS - контроль версий

0 голосов
/ 14 декабря 2011

В настоящее время мы находимся в процессе переключения контроля версий с Subversion на TFS. Это прекрасно работает для автономных проектов / решений, которые можно извлекать, редактировать, компилировать и возвращать обратно.

Я испытываю головную боль, пытаясь заставить ее работать гладко с конкретным проектом / решением, которое у нас есть.

Это решение, которое имеет несколько проектов на C # и IIS / веб-сайт / приложение. Веб-сайт IIS - это в основном классический ASP с некоторыми кусочками C # / .NET (мы постепенно преобразовываем кусочки по ходу работы). Таким образом, мы тестируем сайт локально и фиксируем изменения в хранилище. Это не маленький сайт, это более 500 файлов (изображения, ASP, ASPX и т. Д.).

Обычно в Subversion мы просто проверяем отдельные проекты, и наши решения, которые его содержат, не под контролем исходного кода (учитывая, что некоторые люди имеют свои локальные экземпляры IIS, сопоставленные с разными дисками). Когда мы редактируем файл, он помечается как измененный, и мы можем проверить его, отменить наши изменения и т. Д. (Я использую VisualSVN в VS2010, и он предлагает мне все эти удобные опции).

В TFS, когда я пробовал этот же путь (перевод веб-сайта в систему управления исходным кодом, сопоставление его с каталогом, на который указывает мой экземпляр IIS) - проект / решение загружается просто отлично - но обозреватель решений не показывает никаких указаний нахождение в системе контроля версий - если я дважды щелкну файл и попытаюсь его отредактировать, - мне кричит, что он находится в режиме только для чтения.

Итак, мой вопрос прост - как мне обеспечить бесперебойную работу TFS с веб-сайтом IIS в системе управления версиями, чтобы мой обозреватель решений мог показать мне, какие файлы у меня локально, исправны или изменены (ala Subversion)? Без этого «только для чтения» сцепления?

Я не против загрузить часть IIS решения как проект «Файл / папка» (сейчас в нашем решении часть IIS - это экземпляр IIS, указывающий на сайт IIS на нашей машине).

TLDR: Как, черт возьми, я могу получить TFS для управления исходным кодом веб-сайта IIS, предоставляя мне красивые значки в обозревателе решений - без необходимости иметь решение и в TFS?

Кстати, это IIS7.

Ответы [ 2 ]

2 голосов
/ 15 декабря 2011

Team explorer использует только для чтения, но чтобы увидеть, какие файлы изменились локально. Кроме того, он использует отображение рабочей области, чтобы позволить вам поместить одну часть решения в один каталог, а другую часть решения - в другой.

Вы можете установить Team Foundation Power Tools для интеграции TFS с Windows Explorer , который позволяет извлекать файлы перед их редактированием. (это также удалит бит только для чтения).

Так как Visual Studio хранит привязки управления исходным кодом вместе с решением, не помещая решение в управление исходным кодом, вы неизбежно столкнетесь с проблемами при использовании Visual Studio для редактирования проектов.

Лучшим решением было бы добавить все файлы вашего веб-сайта в веб-проект , даже если это файл asp или любой другой тип по этому вопросу. Visual Studio может с этим справиться. Затем используйте Visual Studio, чтобы обработать для вас процесс извлечения.

Затем можно настроить веб-проект для интеграции в IIS с помощью параметра «Использовать локальный IIS» в свойствах веб-проектов . Это автоматически сопоставит IIS с нужной папкой при открытии решения.

Вы можете использовать пользовательскую конфигурацию рабочего пространства , чтобы убедиться, что TFS помещает папки, куда вы хотите, чтобы они , вы можете создать отдельное рабочее пространство для каждого компьютера, если хотите, хотя это проще, если разные члены команды будут стандартизировать. И даже лучше, если вы сможете поместить все источники в одну папку и позволить свойствам проекта обрабатывать конфигурацию IIS для вас.

Следующая версия TFS / Visual Studio будет поддерживать как клиентские, так и серверные рабочие области , что устранит требование для бита только для чтения.

0 голосов
/ 14 декабря 2011

Вы можете рассмотреть стратегию ветвления и слияния. Это сложная тема, но есть много рекомендаций. Это может быть хорошим местом для начала:

http://branchingguidance.codeplex.com/

Кроме того, если вы посмотрите на свойства вашего веб-приложения, я считаю, что есть опция «Применить настройки сервера ко всем пользователям (сохранить в файле проекта)». Если вы снимите флажок, я думаю, вы можете позволить каждому разработчику поддерживать свои собственная настройка для отображения IIS без сохранения обратно в хранилище.

Ваша локальная копия (называемая рабочей областью) может находиться в любом месте, где вы хотите. Я считаю, что это зависит от пользователя / хоста, поэтому ваши настройки не должны влиять на кого-либо еще. Похоже, вам может понадобиться настроить IIS так, чтобы он указывал на ваше рабочее пространство, или на то, чтобы ваше рабочее пространство указывало на то, куда смотрит ваш IIS.

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