利用svnant集成SVN

        SvnAnt是一个用来与Subversion版本控制系统进行交互的一个Ant扩展,利用它可以在Ant任务中对 SVN进行操作。利用SvnAnt对SVN进行操作有以下三种方式:
1. commandline方式这种方式需要安装Subversion。buid.xml文件如下:

<?xml version="1.0" encoding="gb2312"?>
<project basedir="." name="cowork" default="svncheckout">
  <property name="destPath" value="${basedir}" />

  <property name="svnurl" value="http://svn.xxx.com/xxx" />
  <property name="svn.username" value="username" />
  <property name="svn.password" value="password" />

  <path id="path.svnant">
    <fileset dir="${basedir}">
      <include name="**/*.jar"/>
    </fileset>
  </path>

  <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>
  <target name="svncheckout" >
    <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="false"/>
    <svn refid="svnparams">
      <checkout url="${svnurl}" destPath="${destPath}" />
    </svn>
  </target>
</project>
依赖Jar包:svnant.jar,svnClientAdapter.jar

2. javahl方式
这种方式需要libsvnjavahl-1.dll,将该文件放到C:\WINDOWS\system32目录下。buid.xml文件如下:

<?xml version="1.0" encoding="gb2312"?>
<project basedir="." name="cowork" default="svncheckout">
  <property name="destPath" value="${basedir}" />

  <property name="svnurl" value="http://svn.xxx.com/xxx" />
  <property name="svn.username" value="username" />
  <property name="svn.password" value="password" />

  <path id="path.svnant">
    <fileset dir="${basedir}">
      <include name="**/*.jar"/>
    </fileset>
  </path>

  <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>
  <target name="svncheckout" >
    <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="true"/>
    <svn refid="svnparams">
      <checkout url="${svnurl}" destPath="${destPath}" />
    </svn>
  </target>
</project>
依赖Jar包:svnant.jar,svnClientAdapter.jar,svnjavahl.jar。
可能出现的异常:Missing 'javahl' dependencies on the classpath !,原因缺少libsvnjavahl-1.dll文件
说明:libsvnjavahl-1.dll文件也可以和svnant.jar文件放到一起

3. svnkit方式
build.xml文件如下:

<?xml version="1.0" encoding="gb2312"?>

<!-- binding svnkit -->
<project basedir="." name="cowork" default="svncheckout">
  <property name="destPath" value="${basedir}" />

  <property name="svnurl" value="http://svn.xxx.com/xxx" />
  <property name="svn.username" value="username" />
  <property name="svn.password" value="password" />

  <path id="path.svnant">
    <fileset dir="${basedir}">
      <include name="**/*.jar"/>
    </fileset>
  </path>

  <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="path.svnant"/>
  <target name="svncheckout" >
    <svnSetting id="svnparams" username="${svn.username}" password="${svn.password}" javahl="false" svnkit="true"/>
    <svn refid="svnparams">
      <checkout url="${svnurl}" destPath="${destPath}" />
    </svn>
  </target>
</project>
依赖Jar包:svnant.jar,svnClientAdapter.jar,svnkit.jar,svnkit-javahl.jar
可能出现的异常:Missing 'svnkit' dependencies on the classpath !,原因缺少svnkit-javahl.jar文件

        综上所述,三种方式均依赖svnant.jar和svnClientAdapter.jar;其中svnant.jar定义了Ant任务及与SVN交互的接口,它通过svnClientAdapter.jar适配以上三张交互方式。三种方式的主要区别如下:

 

依赖对象

参数

comandline

安装Subversion,

svnant.jar,svnClientAdapter.jar

javahl="false"

javahl

libsvnjavahl-1.dll,

svnant.jar,svnClientAdapter.jar,svnjavahl.jar

javahl="true"

svnkit

svnant.jar,svnClientAdapter.jar,svnkit.jar,

svnkit-javahl.jar

javahl="false",

svnkit="true"

 

资源下载:

1. 下载svnant压缩包,获取svnant.jar,svnClientAdapter.jar,svnjavahl.jar,svnkit.jar

2. 下载svn的eclipse插件包,从中获取libsvnjavahl-1.dll

3. 下载svnkit压缩包,获取svnkit-javahl.jar

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值