正确的方法来添加svn:可执行文件

我有几个文件在svn添加之前已经可执行了。 他们有svn:可执行属性集。 现在,其他一些文件没有执行位检查没有它,我想设置svn:可执行属性:

$ svn propset svn:executable on *.cgi 

然后我检查状态,甚至用svn:可执行文件修改了文件:

 $ svn diff Property changes on: a.cgi ___________________________________________________________________ Modified: svn:executable - + * Property changes on: b.cgi ___________________________________________________________________ Added: svn:executable + * 

a.cgi不应该被修改。 我想添加svn:可执行位的设置方式与其他文件相同,但不能找出命令来执行此操作。

你是正确的使用svn属性编辑命令。 该属性是svn:可执行文件。

在svn中添加“可执行位”

 svn propset svn:executable on <list of files> 

要删除svn中的“可执行位”

 svn propdel svn:executable <list of files> 

SVN的文档位于这里。

至于不修改可执行文件,你不修改可执行文件(校验和将validation),但你正在修改SVN的存储库。 请记住,SVN修订文件系统,而不仅仅是文件; 所以,即使修改了文件的属性(而不是对文件本身的修改),修改权限位也会增加SVN修订号。

这里是我如何设置我的项目中的所有* .py文件的可执行属性设置了执行位。 我从顶层目录执行这个

 for f in `find ./ -name '*.py'`; do echo $f; if [ -x $f ]; then echo $f 'is executable setting svn:executable'; svn propset svn:executable on $f; else echo $f 'is not executable'; fi; done;