Добавление объектов в систему управления версиями

Для добавления объектов в систему управления версиями:

  1. Выделите объекты в навигаторе объектов или навигаторе проекта в среде разработки.

  2. Выполните одно из действий:

После выполнения действий результат добавления объектов будет отличаться в зависимости от используемой системы управления версиями.

В Team Foundation Server будет выведен стандартный диалог добавления файлов в систему управления версиями:

В зависимости от выбранного объекта на сервере и в локальной папке на компьютере пользователя будет храниться различный набор файлов, содержащих в себе информацию о версии объекта. Наименования файлов формируются следующим образом: <идентификатор объекта>.<расширение>.

Примечание. Team Foundation Server накладывает ограничение на длину пути серверной системы управления версиями. Путь серверной системы управления версиями - это полный путь к местонахождению файла, хранимого в системе управления версиями. Для данного пути имеются следующие ограничения:

- Не более 248 символов юникод для имени каталога;

- Не более 260 символов юникод для имени каталога с именем файла.

Необходимо учитывать данное ограничение при добавлении объектов в систему управления версиями.

В Git объект будет добавлен в систему управления версиями без каких-либо дополнительных подтверждений. На сервере и в локальной папке на компьютере пользователя будет создан необходимый набор файлов.

После добавления объекта в систему управления версиями объект будет заблокирован и ярлык объекта в навигаторе объектов и навигаторе проекта примет следующий вид: .

Примечание. Блокировка объекта осуществляется только в системе управления версиями Team Foundation Server. После добавления объекта в систему управления версиями для всех других разработчиков объект будет доступен только на чтение. При попытке редактирования такого объекта будет выдано соответствующее сообщение. Для работы с этими объектами у всех разработчиков должен быть подключен репозиторий к одному и тому же серверу системы управления версиями. Для изменения объекта извлеките объект для редактирования.

При добавлении объектов в систему управления версиями на сервере и в локальной папке на компьютере сохраняется набор файлов, содержащих информацию о версии объекта:

Объект Файлы
Ресурсы

<идентификатор>.bin. Файл с изображениями из ресурсов;

<идентификатор>.res.xml. Файл с текстовыми ресурсами.

Сборка <идентификатор>.ref.xml. XML-файл, содержащий список модулей/форм, находящихся в данной сборке.
Модуль

<идентификатор>.ref.xml. XML-файл, содержащий список ссылок на системные сборки и сборки репозитория;

<идентификатор>.text. Текстовый файл, содержащий код модуля.

Форма

<идентификатор>.form.xml. XML-файл, содержащий параметры формы (размеры, наличие и расположение компонентов, параметры компонентов);

<идентификатор>.ref.xml. XML - файл, содержащий список ссылок на системные сборки и сборки репозитория;

<идентификатор>.text. Текстовый файл, содержащий код формы.

Запрос

<идентификатор>.params.xml. XML-файл, содержащий настройки параметров запроса;

<идентификатор>.query.xml. XML-файл, содержащий текст запроса.

Представление

<идентификатор>.params.xml. XML-файл, содержащий настройки параметров представления;

<идентификатор>.view.xml. XML-файл, содержащий текст представления.

Процедура

<идентификатор>.params.xml. XML-файл, содержащий настройки параметров процедуры;

<идентификатор>.procedure.xml. XML-файл, содержащий текст процедуры.

Команда СУБД

<идентификатор>.params.xml. XML-файл, содержащий настройки параметров команды СУБД;

<идентификатор>.sql.xml. XML-файл, содержащий текст команды СУБД.

Web-форма

<идентификатор>.ref.xml. XML-файл, содержащий список ссылок на системные сборки и сборки репозитория;

<идентификатор>.text. Текстовый файл, содержащий код Web-формы.

Перемещение объектов, добавленных в систему управления версиями

Для избежания ошибок, которые могут возникнуть у разных разработчиков из-за перемещения/переименования объектов, добавленных в VCS, соблюдайте следующие правила.

В Team Foundation Server перед перемещением/переименованием объекта проверьте, что данный объект не заблокирован другими разработчиками. Проверка осуществляется с использованием Microsoft Visual Studio Team Explorer. Если имеются неопубликованные изменения, то свяжитесь с соответствующими разработчиками и сообщите о необходимости публикации всех изменений. После проверки прикладной разработчик может переместить/переименовать необходимый объект в репозитории. При перемещении/переименовании соответствующие действия автоматически будут произведены над всеми файлами, которые соответствуют объекту на сервере.

Примечание. При перемещении/переименовании объектов в репозитории будут выданы подтверждения на выполнение соответствующих действий с файлами на сервере.

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

При возникновении конфликта, связанного с неопубликованными изменениями в перемещенных объектах, разработчик, получивший сообщение об ошибке «TF10141: No files checked in: resolve the conflicts and try again», должен разрешить конфликт у себя. Для этого следует обновить репозиторий в навигаторе объектов, получить последнюю версию папки, в которую было выполнено перемещение, и выполнить публикацию изменений. В появившемся окне разрешения конфликтов следует выбрать способ разрешения конфликта. Если выбрано автоматическое разрешение конфликтов, то в появившемся окне с запросом нового имени файла нужно выбрать имя файла на сервере.

В Git перед перемещением/переименованием объекта получите последнюю версию объектов с сервера. После чего переместите/переименуйте необходимый объект в репозитории. При перемещении/переименовании соответствующие действия автоматически будут произведены над всеми файлами, которые соответствуют объекту на сервере.

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

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

См. также:

Разработка приложений в команде | Проверка изменений в последней версии объектов | Получение последней версии объектов