TFS фиксирует неизмененные файлы

Мы используем MS Visual Studio 2008.

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

Можно ли сделать тест TFS только на имя файла и содержание?

  • Я проверяю xml или txt файл
  • Я копирую контент
  • Я открываю блокнот и вставляю
  • Я сохраняю файл под тем же именем и подтверждаю перезапись
  • Я фиксирую: TFS по умолчанию выбирает файл для фиксации

Хотя ни название, ни содержание не изменились.

Наш конкретный вариант использования:
Мы каждый вечер запускаем скрипт, который генерирует XML-файлы (перезаписывает существующие файлы) и фиксирует их. Мы хотели бы передать только те, которые действительно изменились, чтобы сохранить историю в чистоте.

Заранее спасибо!
январь

3 ответа

Решение

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

Разве это не то, что вы видите? У вас есть несколько версий одного и того же файла, которые идентичны по содержанию? Если так - какое расширение имеют файлы? .XML или что-то еще?

Посмотрите на сценарии tfpt. Я думаю, что вы ищете следующее:

TFPT.exe uu /r

UU - Отменить без изменений, а /r - рекурсивный флаг. Посмотрите здесь: http://blogs.msdn.com/buckh/archive/2005/11/16/493401.aspx

Как сказал Мартин, MD5 должен быть единственным, что имеет значение.* Копирование / вставка текста в блокнот не обязательно является запретом. Общие различия, которые я видел:

  • 8-битная кодовая страница -> UTF8 или наоборот
  • обычный UTF8 -> UTF8 с спецификацией или наоборот
  • завершающий символ новой строки -> нет завершающего символа новой строки или наоборот

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

* Исключение: если ожидающие изменения элемента включают в себя "слияние", то оно всегда будет отображаться в истории - независимо от содержимого - так что отслеживание слияния будет синхронизировано.

Другие вопросы по тегам