管理人员必须懂 - 属性

  • 作者:KK

  • 发表日期:2015.12.27


基本认识

在SVN中,所有文件和文件夹都是有属性的,而文件的属性我工作多年来基本没用过,在此没法深入谈论

但相信我给大家讲解完文件夹的属性后,能自己凭这些知识研究一下文件的属性,或者实际上你感觉需要文件的属性协助优化一些代码管理时再探索也罢


为什么目录都要被提交?

目录有属性,为什么我们平时提交文件时明明看似只是修改了某个文件,却在提交文件列表中把目录也列了出来,并要求我们钩选提交?

原因一般就是因为添加或删除了文件,我假设你不熟悉文件系统,一个目录A中,它假如目前有3个文件,则会有一个地方记住了“目录A有3个文件,分别是……",如果你删除或添加了文件,数量变了,则那个记住的地方就自然会改变描述“目录A有2个文件,分别是……",那其实目录A的文件数量就是它的其中一个属性,文件情况的变化也就是目录内容的变化(目录的内容不只是一个目录名,而是包含了目录里面的文件名列表,也是属于目录的内容),所以你偶尔会发现目录也需要被提交,则你该要回想下最近是不是变更掉文件数量了


其它属性

忽略(属性)

平时为目录添加了忽略文件,这种情况也造成目录属性的变更,因为.svn里面的某个地方又记住了“某某目录有N个文件,而其中它忽略了某名称的文件,以后不管这些文件……"

  • 手动添加忽略

    你以为对一个文件右键忽略就是手动忽略?其实那时候SVN还是自动帮你做了些事情的,这里我们试下亲手做做这些事情吧,对目录空白处选择TortoiseSVN - 属性出现属性设置框,在右下角选择“新建 - 其他“,出来个小框,上面的“属性“右边有个下拉菜单,选择svn:ignore,,面的“取值“大框中如我下图一样填写两行内容,它是忽略的描述

    这样确定再确定,就手动为这个目录添加了三个忽略项了,忽略所有html和jar后缀的文件以及一个特定名称的文件,当然你还可以直接填'*'这样来忽略所有文件,其实这个操作此前的进阶章节中有教过一下,只是没强调属性这个概念

    之所说这才是手动,模板是因为将文件名登记进目录属性的,是你亲自填写的呀,如果平时的右键菜单忽略,那添加忽略名称到目录属性的还是SVN程序封装了的流程


日志模板(属性)

再对目录空白处选择TortoiseSVN - 属性 - 新建 - 其他,然后选择tsvn:logtemplate这个属性名称,下面取值则是填一个字符串

确定确定保存,然后在这个目录下提交任何东西到仓库时都会默认显示这个日志消息,你可以基于这个日志消息进行略微修改/补充再提交


好了,更多的属性就不细说,大家已经知道属性这东西了,详细的请自行查询TortoiseSVN使用手册,而这里属性名称中svn开头的都是SVN的标准属性,一旦添加,提交到服务端,如果服务端是linux的版本,那它也会承认这个属性并在linux下生效,如果是tsvn这些你看得出是它私有的属性前缀则只是windows下的TortoiseSVN会处理的属性