#visual-studio #sdk
#visual-studio #sdk
Вопрос:
Я работаю над расширением для Visual Studio для обновления проекта.
Ситуация следующая:
- Мы создаем новый проект на основе шаблона.
- Мы поместили решение в tfs
- Мы изменяем проект, который использовался для создания шаблона. Проект на сервере tfs все еще нуждается в обновлении.
- Мы публикуем проект в папке. Теперь я хочу обновить файлы в репозитории TFS текущими файлами в папке публикации
Я подумал о следующем подходе:
В приложении у нас хранятся все проекты, которые находятся на сервере TFS. Когда я хочу обновить определенный проект, я выбираю проект из базы данных. Затем я загружаю этот проект с сервера TFS и создаю новую проверку для этого проекта. Пока все хорошо. Проблема возникает, когда я копирую файлы из опубликованной папки в новую проверку. Файлы, которые уже зарегистрированы в рабочей области, помечаются как измененные, но новые файлы не добавляются.
Единственное решение, которое я могу придумать, это добавить все файлы через TFS SDK. Но это кажется мне довольно тяжелым.
Итак, у меня есть пара вопросов:
- Правильный ли это подход к обновлению проекта?
- Есть ли какой-либо другой способ добавить файлы в рабочую область вместо добавления всех файлов через TFS SDK?
Спасибо!
Комментарии:
1. Как часто вы это делаете? 20 раз в день? Раз в месяц?
2. Примерно раз в три-четыре недели для более чем 100 проектов
Ответ №1:
Не делайте слепое копирование файлов. Вместо этого пусть ваша программа выполняет итерации по ним один за другим.
- Сначала обновите свою рабочую область последней версией TFS.
- Затем для каждого файла в исходном каталоге:
- Если файл существует в целевом каталоге, «отложите редактирование» файла, затем скопируйте его.
- Если файл не существует, скопируйте файл, затем «отложите добавление» файла.
- Когда вы закончите, проверьте все ожидающие изменения в рабочей области.
Комментарии:
1. Точно — если вы собираетесь использовать TFS, используйте TFS так, как это было задумано (проверьте файлы для редактирования, затем проверьте, а затем зафиксируйте изменения).
2. Спасибо за ответ! Я буду использовать ваш подход.