当前位置:  开发笔记 > 编程语言 > 正文

使用TortoiseSVN或命令行SVN在Subversion存储库中设置SVN"execute"位

如何解决《使用TortoiseSVN或命令行SVN在Subversion存储库中设置SVN"execute"位》经验,为你挑选了3个好方法。

我有一个托管在code.google.com上的开源应用.它是跨平台的(Linux/Windows/Mac).我最初使用TortoiseSVN从WinXP机器上传了代码,似乎没有一个用于linux构建的"配置"批处理文件都设置了"执行"位.

为需要它们的文件设置这些最简单的方法是什么?我想,使用TortoiseSVN会更容易,但如果不能使用,那么我也可以在我的linux机器上使用命令行SVN.



1> bmdhacks..:

以下是在命令行中执行此操作的方法:

for file in `find . -name configure`; do
  svn ps svn:executable yes ${file}
done

或者只有一个文件(configure这里是文件名):

svn ps svn:executable yes configure


请注意,要清除可执行位,必须使用svn propdel svn:executable .你不能只把它设置为"不".
您的第一个版本将在任何带有空格的路径或文件名上失败...
您还可以在文件列表中使用propset - 请参阅http://stackoverflow.com/a/5757365/134647

2> 小智..:

使用tortoise SVN,它非常简单:您可以选择多个文件(可能来自搜索结果,因此它们不必位于同一目录中),在TortoiseSVN菜单中选择"属性",添加所需的属性(有一个主要使用的属性的下拉列表,在本例中为"svn:executable")并设置值(在本例中为"*").如果提交更改的文件并在linux下检查它们,则将设置可执行位.

如果要一次设置多个属性,首先为一个文件正确设置属性,将它们导出到文件,选择所有需要的文件,选择"属性"菜单可能更安全(如果出错)并导入以前保存的属性.



3> 小智..:

在Unix上使用{}来解决结果:

find . -type f -name "*.bat" -exec svn propset svn:executable yes '{}' \;

有谁知道为什么这个属性需要"是"作为有效参数?发现另一个例子''代替是,也有效...


svn:executable属性是一个布尔值.将其设置为"是"或"*"或_anything_就足够了.svn检查属性是否已设置,而不是其内容 - 即使您将其设置为"是",大多数客户端也会将值报告为"*".
推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有