我有一个托管在code.google.com上的开源应用.它是跨平台的(Linux/Windows/Mac).我最初使用TortoiseSVN从WinXP机器上传了代码,似乎没有一个用于linux构建的"配置"批处理文件都设置了"执行"位.
为需要它们的文件设置这些最简单的方法是什么?我想,使用TortoiseSVN会更容易,但如果不能使用,那么我也可以在我的linux机器上使用命令行SVN.
以下是在命令行中执行此操作的方法:
for file in `find . -name configure`; do svn ps svn:executable yes ${file} done
或者只有一个文件(configure
这里是文件名):
svn ps svn:executable yes configure
使用tortoise SVN,它非常简单:您可以选择多个文件(可能来自搜索结果,因此它们不必位于同一目录中),在TortoiseSVN菜单中选择"属性",添加所需的属性(有一个主要使用的属性的下拉列表,在本例中为"svn:executable")并设置值(在本例中为"*").如果提交更改的文件并在linux下检查它们,则将设置可执行位.
如果要一次设置多个属性,首先为一个文件正确设置属性,将它们导出到文件,选择所有需要的文件,选择"属性"菜单可能更安全(如果出错)并导入以前保存的属性.
在Unix上使用{}来解决结果:
find . -type f -name "*.bat" -exec svn propset svn:executable yes '{}' \;
有谁知道为什么这个属性需要"是"作为有效参数?发现另一个例子''代替是,也有效...