SVNAnt提交问题

时间:2013-04-02 20:37:46

标签: svn ant svnkit svnant

我有一个ant build.xml文件,其中包含以下设置:

<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
 classpathref="svnant.classpath"/>

<svnSetting id="svn.settings" username="${svn.username}" password="${svn.pw}" 
javahl="false" svnkit="true" failonerror="true"/>

<target name="commit">
   <svn refid="svn.settings">
        <commit file="${webcontent}/version.properties"
            message="commit version from build.xml by ${user.name}"
        />
    </svn>

</target>

运行ant build会生成以下输出:

[svn] Using svnkit
[svn] <Commit> started ...
[svn] commit -m "commit version from build.xml by username" -N C:/path/to/WebContent/version.properties

但它永远不会结束。只是挂在那个声明上。我最终不得不终止构建并清理svn目录,因为WebContent目录被SvnKit设置为锁定

客户端存储库是svn版本1.6,我正在使用svnant版本1.3.1 Ant版本是1.7.1

这有什么用?

为什么它永远不会抛出错误或停止?

SvnKit只有SVN版本1.7 +?

编辑:

所以我把它搞砸了一下。如果我运行构建并且文件没有任何更改,则构建将继续

 [svn] <Commit> finished.

但是如果我对文件进行任何编辑并运行构建它就会挂起。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

谢谢@ChadNouis, 我终于发现我在加载它们的属性文件之前设置了我的svn用户名和pw。

它被挂起,因为存储库需要用户名/ pw但没有提供。

似乎服务器拒绝或客户端意识到已经超时的事情,但这就是问题。

违规配置:

<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
 classpathref="svnant.classpath"/>

<!-- create svnSetting from properties...that don't exist yet -->
<svnSetting id="svn.settings" username="${svn.username}" password="${svn.pw}" 
javahl="false" svnkit="true" failonerror="true"/>

<!-- properties file loaded after svnSetting created...d'oh -->
<property file="svn-credentials.properties"/>

<target name="commit">
   <svn refid="svn.settings">
        <commit file="${webcontent}/version.properties"
            message="commit version from build.xml by ${user.name}"
        />
    </svn>

</target>