背景:
我是采用Apache Ant来进行自动构建的,Ant和CC的配置文件都是用svn管理起来的,然后放在 script 这个目录里面。而自动构建好的工程我都会把它们拷贝到一个名为 deploy 的目录中。这个 deploy 目录也是由svn管理起来的,但是与 script 的路径不同。
问题:
在Ant的 build.xml (放在script文件夹里)脚本文件中,我写了下面这段话:
<exec executable="svn" outputproperty="svnoutput">
<arg line="ps svn:externals . -F E:\Dailybuild\deployForDelta\text.txt"/>
</exec>
然后在T档里面,我把要加的虚拟目录和对应的svn路径填进去了:
Res\Txt https://raphael-PC1.****.com:8443/svn/QQSG_Resource/trunk
其实,期望中的结果应该是将externals的属性设置到 deploy 对应的svn上。但是,实际上externals属性被配置到了 script 目录对应的svn路径上。
请问有什么方法能够达到我期望的那个结果吗?
首先,您可以使用 svn propedit 命令来编辑文件的属性。您可以在命令行中使用以下命令来编辑 deploy 目录对应的 svn 路径的 externals 属性:
svn propedit svn:externals deploy
然后,您可以在打开的编辑器中输入您想要添加的虚拟目录和对应的 svn 路径。例如,如果您想要将虚拟目录 Res/Txt 添加到 deploy 目录的 svn 路径,您可以在编辑器中输入:
Res/Txt https://raphael-PC1.****.com:8443/svn/QQSG_Resource/trunk
然后保存并关闭编辑器,并使用 svn commit 命令将更改提交到 svn 服务器。
此外,您还可以在 Ant 的 build.xml 脚本文件中使用 svn 任务来编辑 svn 属性。您可以使用以下代码将虚拟目录添加到 deploy 目录对应的 svn 路径:
<svn>
<propset property="svn:externals" value="Res/Txt https://raphael-PC1.****.com:8443/svn/QQSG_Resource/trunk"/>
<path location="deploy"/>
</svn>
然后使用 svn commit 命令将更改提交到 svn 服务器。