SVN并不完全记录文件的属性

今天刚刚发现的,新建的一个Respontory,提交了一些文件进去,有的带有+x可执行属性,有的带有700非owner不可读属性,但是从仓库中再checkout之后,发现所有的文件属性都变成了755,再一查资料,原来svn并不记录和处理文件的这些属性,也没有什么svn chmod命令。

如果项目中确实对文件属性有要求,可以采用一个笨一点的替代的办法,就是自己写个脚本,比如叫svn_fa_modifier,把所有文件属性的设定都写在里面,每当checkout之后文件属性乱套的时候,就执行一下。(如果一直是在工作目录中checkin和update,文件属性应该不会乱)

至于svn_fa_modifier文件本身每次都要chmod +x么?其实也不用,可以用svn的propset命令来为其设定一个“可执行文件”属性,比如:

svn propset svn:executable ON svn_fa_modifier

这样svn_fa_modifier应该就永远都会带有+x属性了,不过propset中再也没有找到其他更改文件属性的资料。

参考一参考二参考三参考四(似乎svn中checkout出来的文件默认属性都是755?)。

PS: 顺便响应一下豆瓣的blog claim,doubanclaim8b95642ba743d85d,呵呵。

Leave a Reply

Your email address will not be published. Required fields are marked *