下一个: Locks, 上一个: Attic, 上层: Repository storage
在仓库中的每一个目录中都存在一个 CVS 目录,其中存放一些象文件属性这样的信息(在 CVS 目录中有一个 CVS/fileattr 文件)。 在将来会有附加的文件放入到这个目录中,实现应默默忽略附加的文件。
这个特性只会出现在 cvs 1.7 版本之后;详细请看 Watches Compatibility。
fileattr 文件有一系列如下格式的条目(entriese)组成(其中 `{' 和 `}' 意思是括号内文字可以没有或重复多次):
ent-type filename <tab> attrname = attrval {; attrname = attrval} <linefeed>
ent-type 为 `F' 表示文件,该条目设置文件的属性。
ent-type 为 `D',并且 filename 为空,给新添加的文件指定默认属性。
其余 ent-type-type 留给以后扩展使用。 cvs 1.9 和更老的版本在任何写文件属性的时候会把它们删除。 cvs 1.10 和后续版本将其保留。
注意,每行的先后次序不重要;任何程序可以按它的习惯重新排列。
当前无法作到文件名中带 TAB 或换行,attrname 里的 `=',attrval 里的 `;',等等。 注意:有些实现还无法处理任何字段中的 NULL 字符,但实现已注意此事。
习惯上在 attrname 名前加 `_' 表示在 cvs 中有特殊含义;其余为用户自定义类型的属性(或将是,一旦实现开始支持用户定义的属性)。
内置属性:
_watched
_watchers
_editors
cvs edit
执行的时间(或类似的),hostname 和 pathname 是工作目录。
例子:
Ffile1 _watched=;_watchers=joe>edit,mary>commit Ffile2 _watched=;_editors=sue>8 Jan 1975+workstn1+/home/sue/cvs D _watched=
意味着文件 file1 应按只读检出。
另外 joe 监视此文件的 edit 而 mary 监视此文件 commit。
文件 file2 应按只读检出;sue 在 8 Jan 1975 开始编辑它,目录是 /home/sue/cvs,机器为 workstn1
。
其余文件都是按只读检出。
作为演示,`D'、`Ffile1'、`Ffile2' 后面有一个空格,其实该用 TAB 字符而无空格。