Временная метка при получении последней из TFS и имеет ли это значение? - программирование
Подтвердить что ты не робот

Временная метка при получении последней из TFS и имеет ли это значение?

Я не уверен, почему я никогда не замечал этого раньше, но когда я "Get Latest" из TFS, дата и время на файлах в моей локальной рабочей папке устанавливаются на текущую дату и время. Это относится к датам "Создано" и "Модифицировано", даже если никаких изменений не было сделано (как я только что сделал "Получить последний", не более того).

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

4b9b3361

Ответ 1

Как вы отмечаете, поведение по умолчанию в Team Foundation Server заключается в том, чтобы записать время файла в "текущее" время (при извлечении файла). Это поведение большинства инструментов управления версиями по умолчанию и обычно считается безопасным.

Время установки удаленного времени может иметь негативные последствия во многих сценариях. Например, make будет сканировать файлы, более новые, чем последнее время сборки. Установка времени файла на время сервера может повлиять на способность определять, какие файлы были изменены с момента последней сборки.

Однако, если вы предпочитаете это поведение и используете по крайней мере TFS 2012 и Visual Studio 2012, вы можете включить его для каждого рабочего пространства, установив "Время файла" на "Checkin":

enter image description here

Дополнительные сведения от Microsoft:

Время файла:

  • Выберите Checkin, если вы хотите, чтобы метка даты и времени каждого файла соответствовала штампу набора изменений версии в вашем Рабочее пространство. Несколько вопросов и исключений:

    • При изменении локального файла отметка даты и времени будет соответствовать дате и времени, когда вы изменили файл.

    • Эта функция доступна только в том случае, если вы используете Visual Studio 2012 или более позднюю версию и Visual Studio Team Foundation Server 2012 или более поздней версии.

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

    • Возможно, вы не сможете постепенно наращивать проект кода. Вместо этого вам придется перестроить).

  • Выберите Текущий, если вы хотите, чтобы дата и время совпадали с датой и временем последнего изменения локального файла. Например, член команды зарегистрировался в последнем изменении файла в понедельник. На Во вторник вы выполняете операцию получения, чтобы обновить файл. Дата и отметка времени установлена ​​во вторник.

Ответ 2

Как уже упоминалось, это поведение TFS по умолчанию. Это первая система управления версиями, которую я использовал там, где это значение по умолчанию. Проблема с использованием текущего времени для файлов, когда разработчик получает последние данные, заключается в том, что вы можете только указать, есть ли у вас последняя версия, сравнивая файлы по каждому файлу. Три разных разработчика в одном проекте будут иметь 3 разных значения времени для одной и той же версии файла. В любом случае, всегда делайте проект чистым, прежде чем создавать сборки. Зачем? Поскольку вы, возможно, изменили файл или два, затем после тестирования вернулись к последней проверенной версии. По моему опыту всегда лучше использовать время регистрации.

Ответ 3

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

Ответ 4

Я также ищу это, так как мой Работодатель не готов перейти к последней версии TFS сегодня. Я наткнулся на это Расширение проводника источника TFS и после установки этого плагина я могу получить файлы с отметкой времени регистрации. Если кто-либо еще ищет файлы с меткой времени регистрации для TFS 2010 и клиентом как VS 2010, это должно сделать трюк.