Сохраняйте атрибуты файлов с контролем версий неизменными

StackOverflow https://stackoverflow.com/questions/955081

Вопрос

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

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

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

Это было полезно?

Решение

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

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


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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top