SVNkit 使用

环境:

  JDK 1.7

 SVNkit 1.8.10

 Jenkins 1.5.77.

背景:

   在windows slave上需要通过ant脚本从 svn checkout代码,使用svnant链接不上,报timeout。所以使用另外一种方式,用svnkit-cli。

准备工作:

  需要将svnkit 1.8.10 release的jar包全部加载到classpath里(svnkit.jar, svnkit-cli.jar,svnkit-osgi-1.8.10.jar,svnkit-javahl16-1.8.10.jar以及从svnkit-dav-1.8.10.war中lib下的jar包)。

<path id="path.svnant">

<fileset dir="D:\Jenkins\tools\svnkit_1.8.0\lib">

<include name="*.jar" />

</fileset>

</path>

示例代码:

<target name="checkout_code">

<echo message="component svn commit..." />

<echo message="username = ${build_svn_userid}" />

<echo message="pasword = ${build_svn_password}" />

<echo message="resopsitory = ${repository_url}/${build_component_path}" />

<delete dir="${workspace.dir}/output/rfview" failonerror="falses" />

<echo message="checkout svn branch from HEAD" />

<java classname="org.tmatesoft.svn.cli.SVN" dir="${workspace.dir}/output/" fork="true">

<arg value="co" />

<arg value="--username" />

<arg value="${svn_userid}" />

<arg value="--password" />

<arg value="${svn_password}" />

<arg value="${repository_url}/${build_component_path}" />

<classpath refid="path.svnkit" />

</java>

</target>

<target name="commit_changes">

<echo message="begin to commit changes...." />

<java classname="org.tmatesoft.svn.cli.SVN"  fork="true">

<arg value="commit" />

<arg value="--username" />

<arg value="${svn_userid}" />

<arg value="--password" />

<arg value="${svn_password}" />

<arg value="-m" />

<arg value='"commit message"' />

<arg value="${YOUR WOKING COPY DIR}" />---注意,这里应该是本地要提交的文件夹路径。

<classpath refid="path.svnkit" />

</java>

<echo message="component svn commit done." />

</target>

参考svnkit官网:http://www.svnkit.com/documentation.html 

你可能感兴趣的:(SVNkit 使用)