Спонсор: Microsoft
Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 805 / 25 | Оценка: 4.43 / 3.71 | Длительность: 10:46:00
Дополнительный материал 3:

Вопросы и ответы: система управления исходным кодом и версиями TFS

Распределенная и удаленная разработка

  • Как работать автономно?
  • Как оптимизировать среду распределенной командной разработки?
  • Что такое TFS -прокси?
  • Как оптимизировать производительность TFS -прокси?

Как работать автономно?

Встроенной поддержки автономной работы в TFS нет. Если вы все-таки хотите работать автономно, вам следует выполнить описанные ниже действия, причем, строго в заданной последовательности:

  1. Вручную снимите флажки "только для чтения".
  2. Отредактируйте файлы.
  3. При необходимости добавляйте или удаляйте файлы.
  4. Запустите команду online из инструментария Team Foundation Power Tool (TFPT) .

Примечание Во время автономной работы файлы нельзя переименовывать.

  1. Снятие флагов "только для чтения". По умолчанию все файлы в рабочей области, не извлеченные для правки, доступны только для чтения. При отсутствии подключения к серверу, вы должны вручную снять флажки "только для чтения" с файлов, прежде чем сможете редактировать или удалять их. Щелкните правой кнопкой файл в проводнике Windows, выберите команду Свойства ( Properties ), сбросьте флажок Только чтение ( Read-only ) и щелкните OK. То же самое можно выполнить с помощью команды DOS attrib -r.
  2. Редактирование файлов. Теперь вы можете редактировать любые файлы, с которых сняли метку "только для чтения".
  3. Добавление или удаление файлов. Вы можете добавлять новые файлы, а также удалять файлы, с которых сняли метку "только для чтения". Не переименовывайте файлы, потому что инструмент TFTP online не в состоянии отличить операцию переименования от операции удаления в сочетании с операцией добавления.

    Примечание Команда Tfpt online не ищет удаленные файлы, если явно не задать соответствующий параметр, поскольку это продолжительная операция.

  4. Запуск команды TFPT online. Вернувшись в оперативный режим, введите в командной строке TFTP online. Эта команда проверит вашу рабочую область на предмет записываемых файлов и установит, какие изменения следует перевести в разряд ожидающих. Если вы удалили какие-либо файлы, используйте командный параметр /deletes для дополнительного поиска в вашей рабочей области удаленных файлов. На экране появится окно Online, в котором вы сможете выбрать, какие изменения следует сделать ожидающими.

Дополнительные ресурсы

Как оптимизировать среду распределенной командной разработки?

Доступ к TFS через Интернет можно организовать одним из следующих трех способов:

  • подключение по виртуальной частной сети ( VPN );
  • публикация TFS через обратный прокси, например, Microsoft Internet Security and Acceleration (ISA) ;
  • расположение TFS в экстрасети ("сценарий с размещением").

Если вы обеспечиваете поддержку удаленных пользователей при помощи VPN, используйте первый способ. Он прост в реализации, обеспечивает уверенную безопасность, открывает удаленный доступ ко всем компонентам TFS и позволяет использовать TFS -прокси для повышения производительности. При таком способе доступа TFS находится в интрасети. Внешние пользователи подключаются к нему посредством VPN, внутренние - непосредственно.

Если вы не предоставили удаленным пользователям доступ VPN или доступ к домену, используйте вариант с обратным прокси. Это решение сложнее в настройке, но оно позволяет удаленным пользователям обращаться к TFS в интрасети без использования VPN. TFS находится в интрасети. Клиентские запросы из Интернета направляются к нему одним или несколькими обратными прокси, например, ISA Server.

Если вы поддерживаете работу группы удаленных пользователей, специально для которых установили TFS, используйте вариант с экстрасетью. Он позволит максимально отделить удаленных пользователей от ресурсов внутренней сети. При этом доступ к TFS имеют только внешние клиенты, а сам TFS расположен в экстрасети, за пределами действия брандмауэра.

Если удаленным доступом к Team Foundation Server через Интернет пользуется несколько клиентов, установите в удаленном офисе Team Foundation Server Proxy. Производительность возрастет за счет кеширова-ния файлов исходного кода на прокси-сервере.

Если вы поддерживаете удаленное подключение к TFS для одного клиента, настройте его на подключение непосредственно к TFS.

Дополнительные ресурсы

Что такое TFS-прокси?

Клиент-серверные коммуникации в TFS реализованы при помощи протокола HTTP. Чтобы повысить производительность и избежать лишних обращений к серверу, в удаленных филиалах, отделенных от БД TFS глобальной сетью, устанавливается прокси-сервер системы управления версиями TFS. Он кеширует копии файлов системы управления исходным кодом в удаленном расположении. Если файл отсутствует в локальном кеше, прокси перед возвращением файла клиенту загружает его из TFS в локальный кеш.

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

Дополнительные ресурсы

Как оптимизировать производительность TFS-прокси?

Существуют следующие способы оптимизации производительности прокси-сервера:

  • Убедитесь, что включена функция кеширования, и периодически проверяйте счетчики производительности кеша и журналы регистрации событий (ошибки и предупреждения) на прокси-сервере, чтобы иметь представление о его производительности. Помните, что прокси-сервер TFS сохраняет статистику производительности кеша в XML -файле ProxyStatistics.xml. Интервал, с которым происходит сохранение статистики, поддается настройке. Файл ProxyStatistics.xml расположен в подпапке App_Data папки установки прокси
  • Периодически запускайте запланированное задание для копирования новейших файлов на прокси-сервер. Это обеспечит наличие актуальных версий в кеше прокси. Как следствие, увеличится количество удачных обращений к Кешу
  • Если вам известно, что предстоит загрузка больших файлов по сети с малой пропускной способностью (< 3 Мб/с), измените значение параметра executionTimeout в файле Web.config. Значение по умолчанию равно одному часу <httpRuntime executionTimeout="3600"/>.

Дополнительные ресурсы

Переход с других версий

  • Чем система управления версиями TFS отличается от VSS?
  • Чем модель извлечения TFS отличается от аналогичной модели VSS?
  • Как осуществить перенос исходного кода из VSS в TFS?
  • Как осуществить перенос исходного кода из других систем управления версиями?

Чем система управления версиями TFS отличается от VSS?

Система Microsoft Visual SourceSafe предназначена для поддержки индивидуальных разработчиков и небольших групп. Система управления версиями TFS создана для профессиональных разработчиков и крупных команд, в которых количество пользователей на сервер достигает 2500. Среди крупных усовершенствований системы управления версиями TFS перечислим глубокую интеграцию с Visual Studio 2005, а также поддержку распределенной разработки, которая позволяет эффективно осуществлять доступ к файлам через глобальные сети. Основные различия между двумя системами таковы:

  • Изменяемость кода В системе Visual SourceSafe отсутствует возможность оценки изменяемости кода. Система управления версиями TFS предоставит вам соответствующие показатели для каждого файла, возвращаемого в хранилище.
  • Извлечение Система Visual SourceSafe получает из БД новейший или помеченный файл и перезаписывает локальную версию. Система управления версиями TFS открывает запись в версию, находящуюся в вашей рабочей области, но не перезаписывает ее версией из БД.
  • Блокировка файлов Система Visual SourceSafe автоматически применяет к файлу, извлеченному для правки, исключающую блокировку. Система управления версиями TFS позволяет нескольким разработчикам параллельно выполнять редактирование одного файла. При возникновении конфликтов, они, как правило, разрешаются автоматически.
  • Ветвление В системе Visual SourceSafe используется метод ветвления "pin-and-share". В системе управления версиями TFS применяется метод ветвления в пространстве путей. Благодаря этому облегчается сопровождение старых версий ПО, поскольку данный метод облегчает перенос изменений из одной ветви в другую или внесение изменений в обе ветви сразу.
  • Совместное использование Система управления версиями TFS не поддерживает совместное использование. Перенос общего файла приведет к его копированию в целевую папку.
  • Интеграция операций Система Visual SourceSafe - изолированная система управления версиями. Система управления версиями TFS интегрирована с системой отслеживания рабочих элементов и системой подготовки отчетов TFS.

Дополнительные ресурсы

Чем модель извлечения TFS отличается от аналогичной модели VSS?

При извлечении файла для правки из системы управления версиями TFS файл в вашей рабочей области открывается для записи, но его синхронизация с сервером БД не выполняется. Чтобы получить с сервера БД последнюю версию файла, следует запустить команду get. При извлечении файла в VSS файл копируется с сервера БД в вашу рабочую область и открывается для записи.

Система Visual SourceSafe по умолчанию использует исключительную блокировку, в то время как в TFS по умолчанию применяется совместное извлечение. Оно позволяет нескольким разработчикам одновременно вносить изменения в один и тот же файл. В отличие от Visual SourceSafe, в TFS большинство конфликтов разрешается автоматически.

Дополнительные ресурсы

Как осуществить перенос исходного кода из VSS в TFS?

В комплекте Team Foundation Server поставляется инструмент VSS Converter, позволяющий переносить файлы, папки, историю версий, метки и пользовательскую информацию из БД Visual SourceSafe в систему управления исходным кодом Team Foundation Server.

Следует знать, что конвертер имеет некоторые ограничения, например:

  • Не сохраняется история общего доступа к файлам, поскольку система Team Foundation Server не поддерживает общий доступ. Перемещение совместно используемого файла сводится к копированию этого файла в конечную папку.
  • Не сохраняется история ветвления.
  • Система Team Foundation Server не поддерживает закрепление ( pinning ). Закрепленные файлы переносятся с созданием двух меток.
  • Во время переноса не сохраняются временные метки, связанные с действиями.

Дополнительные ресурсы

Как осуществить перенос исходного кода из других систем управления версиями?

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

В данный момент корпорация Microsoft ведет работу по созданию конвертера ClearCase. О выпуске конвертера будет объявлено дополнительно в блоге TFS Migration, расположенном по адресу http://blogs.msdn.com/tfs_ migration.

Существует конвертер, созданный компанией Component Software, который совместим с системами GNU RCS, CS-RCS, GNU CVS, Subversion (SVN) и Visual SourceSafe (VSS) .

Дополнительные ресурсы

Александр Будник
Александр Будник
Израиль, Иерусалим
Pavel Pelevin
Pavel Pelevin
Украина, Одесса