2

我们正在运行 Hudson 版本。1.395 作为 CI 服务器,StarTeam 作为存储库。我们计划将 Subversion 作为 Repository(安装了 Hudson Server Plugin 2.3.3)。在 Hudson 中使用 SVNAnt (ver 1.3.1) 脚本从 SVN 服务器签出没有问题,但是我们不能 IMPORT 或 ADD 和 COMMIT UNVERSIONED COPY 到 SVN。

<project name="***">        
    …   
    <path id="svn.classpath">
        <!--pathelement location="${svn.lib}/svnant.jar"/-->
        <fileset dir="${svn.lib}">
            <include name="svnant.jar"/>
            <include name="ganymed.jar"/>
            <include name="jna.jar"/>
            <include name="svnClientAdapter.jar"/>
            <include name="svnjavahl.jar"/>
            <include name="svnkit.jar"/>
        </fileset>
    </path> 

    <!-- Load the SVN Task -->
    <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svn.classpath" />

    <!-- SVN Checkout -->
    <target name="svn-checkout">
        <svn username="${svn-user}" password="${svn-password}" svnkit="true" javahl="false">
            <checkout url="${svn-url}" revision="HEAD" destPath="${env.WORKSPACE}" />
            <info target="${env.WORKSPACE}"/>
        </svn>
    </target>

    <!-- SVN Add & Commit -->   
    <target name="svn-add">
        <svn username="${svn-user}" password="${svn-password}" svnkit="true" javahl="false">
            <add dir="${env.WORKSPACE}" force="true"/>
            <info target="${env.WORKSPACE}"/>
        </svn>
    </target>

    <target name="svn-commit">  
        <svn username="${svn-user}" password="${svn-password}" svnkit="true" javahl="false">
            <commit dir="${env.WORKSPACE}" message="${svn.message}"/>
            <info target="${env.WORKSPACE}"/>
        </svn>
    </target>

![Commit-Output][1] 但是我们可以使用 TortoiseSVN(1.7.11) 或使用 CollabNer Subverison Client(1.7.8) 的命令行和 ant 脚本来完成检出、添加、提交、导入未版本化或版本不足的副本的所有任务. 我很感激你的时间。谢谢你。

4

1 回答 1

0
    <svn verbose="true" refid="svn.settings">
        <add dir="${svn_folder}" force="true" recurse="true" />
        <commit dir="${svn_folder}" message="${version}"/>
    </svn>
于 2013-03-08T10:52:47.717 回答