我正面临着svnant的问题。<svnModified />需要3分钟才能完成我的工作副本(SVN元数据版本1.7:使用HEAD的最新版本)。如果我尝试使用TortoiseSVN 1.7.12检查修改,所需时间不到3秒。如果我从命令提示符执行svn状态,也需要不到3秒的时间。
我的测试构建文件如下所示:
<project name="tools" default="default" basedir=".">
<path id="paths.classpath">
<fileset dir="." caseSensitive="false">
<include name="svnant/**/*.jar" />
</fileset>
</path>
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="paths.classpath" />
<fileset id="filesets.svn.modified" dir="C:/Workspace/projects">
<svnModified />
</fileset>
<target name="default">
<pathconvert pathsep="
" property="target.output" refid="filesets.svn.modified" />
<echo>${target.output}</echo>
</target>
</project>我做错了什么吗?我尝试将svnkit升级到最新版本,但没有什么不同。我包含的jars是太多还是太少?其他细节: Ant 1.9.0,Windows7 x64,Java 1.7.0_21 x64
我的libs:
+---lib
antlr-runtime-3.4.jar
jna-3.4.0.jar
LICENSE-ANTLR.txt
LICENSE-JAVAHL.txt
LICENSE-JNA.txt
LICENSE-SEQUENCE.txt
LICENSE-SQLJET.txt
LICENSE-TRILEAD.txt
sequence-library-1.0.2.jar
sqljet-1.1.7.jar
svn-javahl.jar
svnant.jar
svnClientAdapter.jar
svnkit-1.7.9.jar
svnkit-cli-1.7.9.jar
svnkit-javahl16-1.7.9.jar
trilead-ssh2-1.0.0-build216.jar发布于 2013-05-15 20:40:13
我不确定,但我猜当使用svnModified时,C:/Workspace/projects下的每个文件都会查询svn。但是,当通过命令行或TortoiseSVN使用svn status时,一切都发生在svn软件中。在第一种情况下,可能有很多关于一个文件的小查询,在第二种情况下,只有一次关于整个文件树的查询。
要提高性能,我能想到的唯一方法是:
svn status (通过exec或svnant任务)并获取其输出您可能会对实现它感兴趣的一些链接:
https://stackoverflow.com/questions/16562684
复制相似问题