是否可以保持版本控制文件的属性不变?我有一个目录结构,我希望我的安装程序在客户端机器上重新创建。我希望整个目录可以放在 VCS 上而不影响文件属性。
我正在使用 TFS,但也想了解其他版本控制系统。
编辑:我说的是 Windows 文件系统属性,例如隐藏/存档/系统/只读,但也欢迎任何其他信息,例如创建/修改日期。我有一个目录结构,其中一些文件是只读的,需要在客户端机器上安装这些文件。TFS 倾向于根据文件是签入还是签出来设置/取消设置只读属性。
是否可以保持版本控制文件的属性不变?我有一个目录结构,我希望我的安装程序在客户端机器上重新创建。我希望整个目录可以放在 VCS 上而不影响文件属性。
我正在使用 TFS,但也想了解其他版本控制系统。
编辑:我说的是 Windows 文件系统属性,例如隐藏/存档/系统/只读,但也欢迎任何其他信息,例如创建/修改日期。我有一个目录结构,其中一些文件是只读的,需要在客户端机器上安装这些文件。TFS 倾向于根据文件是签入还是签出来设置/取消设置只读属性。
TFS 2010 能够将任意元数据附加到版本控制对象。但是,您必须编写自己的工具。
API 规范(预发布):http: //blogs.msdn.com/mrod/archive/2008/05/09/team-foundation-server-properties.aspx
TFS 不存储当前版本的 TFS 中的文件属性数据(如创建日期、修改日期)等。这些属性的值将是第一次下载/修改文件时本地计算机上的时间。
通常,版本控制系统不会将有关其控制下的文件的完整元数据信息存储在存储库中。在版本控制系统的通常使用中,这是不需要的,甚至可能会导致问题;版本控制系统存储“健全”的元数据子集(例如可执行权限和符号链接)。
可能的解决方案是使用钩子在提交到某个文件(通常是纯文本文件)时保存文件元数据的所需部分,将此文件保持在版本控制下以自动将其分发给所有客户端,并使用钩子在结帐时恢复元数据。
保存和恢复元数据的工具示例解决方案包括(不幸的是,示例是针对Git,而不是 TFS,但重要的是思想):
将配置文件置于版本控制之下的工具示例解决方案(同样:它们都使用 Git 作为后端)包括: