Сохранить атрибуты контролируемых версиями файлов без изменений - PullRequest
0 голосов
/ 05 июня 2009

Можно ли сохранить атрибуты контролируемого версией файла без изменений? У меня есть структура каталогов, которую я хотел бы, чтобы мой установщик воссоздал на клиентском компьютере. Я надеялся, что весь каталог мог быть помещен в VCS, не затрагивая атрибуты файла.

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

Редактировать: Я говорю об атрибутах файловой системы Windows, таких как Скрытый / Архив / Система / Только для чтения, но любая другая информация, такая как даты создания / изменения, также приветствуется. У меня есть структура каталогов, в которой некоторые файлы доступны только для чтения, и эти файлы должны быть установлены на компьютере клиента. TFS имеет тенденцию устанавливать / снимать атрибут только для чтения в зависимости от того, зарегистрирован файл или извлечен.

Ответы [ 3 ]

1 голос
/ 08 июня 2009

TFS 2010 имеет возможность прикреплять произвольные метаданные к объектам контроля версий. Однако вам придется написать свой собственный инструмент.

Спецификация API (предварительная версия): http://blogs.msdn.com/mrod/archive/2008/05/09/team-foundation-server-properties.aspx

1 голос
/ 05 июня 2009

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

0 голосов
/ 05 июня 2009

Обычно системы контроля версий не хранят полную информацию метаданных о файлах, находящихся под ее контролем, в хранилище. При обычном использовании систем контроля версий это не требуется и может даже вызвать проблемы; системы контроля версий хранят «нормальное» подмножество метаданных (например, права на исполняемые файлы и символические ссылки).

Возможным решением является использование хуков для сохранения необходимых частей метаданных файла при фиксации в каком-либо файле (обычно в виде простого текстового файла), сохранение этого файла под контролем версий для его автоматической рассылки всем клиентам и использование хуков для восстановления метаданных при извлечении .


Примеры решений инструментов для сохранения и восстановления метаданных включают (к сожалению, примеры для Git , а не TFS, но это идея, которая имеет значение):

Примеры решений инструментов для сохранения файлов конфигурации под контролем версий (опять же: все они используют Git в качестве бэкэнда) включают:

...