ANT集成SVNANT访问SVN(Subversion)
2019独角兽企业重金招聘Python工程师标准>>>
一直想让项目的编译自动化,由于代码服务器使用的是SVN,同时脚本用的是ANT,就涉及到如何在ANT中来访问SVN,checkout/commit/update/export 等。
首先,说一下我的配置:
ANT ,1.8.4
SVN, 1.7.8
SVNANT:1.3.1 ,
时间:2012.12.22(传说中的玛雅人预测的世界末日)。
ANT 想要和SVN集成到一起,其实至少有以下三种方案:
方案一:直接利用ANT 的命令 <exec> 来完成。
需要注意的是,这需要在运行ANT的机器上安装SVN,同时,此种方式严重依赖操作系统。
下面以WINDOWS为例。
<?xml version="1.0" encoding="UTF-8"?>
<project name="test">
<property name="svn-url" value="svn://localhost"></property>
<target name="hello">
<echo message="hello ant!"></echo>
<exec executable="svn" > //<!-- 直接调用 svn.exe,注意svn.exe要能够通过path访问到-->
<arg line="co ${svn-url}/test1/src test2/src"/> <!-- 设置svn 的命令行参数 -->
</exec>
</target>
</project>
怎么样,还是挺简单吧?!
方案二:利用SVNANT中的SVNKIT
注意:本方案和方案三都需要把SVNANT解压后的所有JAR包都放入ANT\LIB目录下,方便查找使用。
<?xml version="1.0" encoding="UTF-8"?>
<project name="test">
<property name="svn-url" value="svn://localhost"></property>
<property name="basedir" value="d:/apache-ant-1.8.2/lib"></property>
<path id="path.svnant"> <!-- 定义一个PATH元素,告诉ANT 到哪找SVNANT的类库 -->
<pathelement location="${basedir}/svnant.jar"/> <!-- SVNANT顶层包-->
<pathelement location="${basedir}/svnClientAdapter.jar"/> <!-- SVNANT 与SVN通讯的适配器包--> <pathelement location="${basedir}/svnjavahl.jar"/> <!-- SVNANT与SVN 通讯的JAVA BRIDGE包-->
<!-- ... -->
</path>
<typedef
resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="path.svnant"
/> <!--引用 svnantlib.xml ,其中定义了ANT的SVN命令,见下方详解。-->
<svnSetting id="svn.settings" <!--定义svnSetting ,新的设置SVN属性方式-->
svnkit="true" <!-- 通过SVNKIT模式(即设置为TRUE),而不是JAVAHL模式-->
javahl="false"
username=""
password=""
/>
<target name="hello">
<echo message="hello ant!"></echo>
<svn refid="svn.settings"> <!--引用上面定义的svnSetting ,新的设置SVN属性方式-->
<checkout recurse="true" url="${svn-url}/test1/src" destPath="test2/src" /> <!-- 执行checkout 命令-->
</svn>
<echo message="success!"></echo>
</target>
</project>
方案三:利用SVNANT中的JAVAHL
<?xml version="1.0" encoding="UTF-8"?>
<project name="test">
<property name="svn-url" value="svn://localhost"></property>
<property name="basedir" value="d:/apache-ant-1.8.2/lib"></property>
<path id="path.svnant">
<pathelement location="${basedir}/svnant.jar"/>
<pathelement location="${basedir}/svnClientAdapter.jar"/>
<pathelement location="${basedir}/svnjavahl.jar"/>
<!-- ... -->
</path>
<typedef
resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="path.svnant"
/>
<svnSetting id="svn.settings"
svnkit="false"
javahl="trues" <!-- 通过JAVAHL模式(即设置为TRUE),而不是SVNKIT模式-->
username=""
password=""
/>
<target name="hello">
<echo message="hello ant!"></echo>
<svn refid="svn.settings">
<checkout recurse="true" url="${svn-url}/test1/src" destPath="test3/src" />
</svn>
<echo message="success!"></echo>
</target>
</project>
怎么样,还算简单吧?希望各位能够轻松应用ANT,把自己从重复工作中解脱出来。
转载于:https://my.oschina.net/xingshenyan/blog/97693
ANT集成SVNANT访问SVN(Subversion)相关推荐
- centos7搭建SVN并配置使用http方式访问SVN服务器
一.检查SVN是否安装 centos7系统自带SVN # rpm -qa subversion [root@localhost ~]# rpm -qa subversion subversion-1. ...
- Linux/CentOS下安装Apache/SVN/Subversion图文详解教程
Linux(CentOS)下安装Apache+Subversion(图文教程) 服务器版本和安装软件 服务器版本: RedHatCentOS 5.5 32 bit 安装软件: apr-1.3.5.ta ...
- 通过Htpp访问svn内容
通过Htpp访问svn内容 企业日常代码或文档托管,都采用TortoiseSVN 小乌龟来管理, 默认它是使用自己的svn协议.本文分享下svn通过http协议来访问内容 安装并启动: 安装svn y ...
- 修改了svn服务器配置,配置http方式访问svn服务器
本文讲述如何利用Apache配置实现http的方式访问Subversion,本文的目录如下: 配置http匿名访问 增加用户名和密码控制 增加文件目录控制 [前提要求] 安装apache httpd, ...
- 使用mod_dav_svn模块访问SVN仓库方法揭秘
本节向大家简单介绍一下使用mod_dav_svn访问SVN仓库的方法,主要有四个步骤,和大家一起学习一下,希望本节使用mod_dav_svn访问SVN仓库方法介绍对你的学习与所帮助. 在前面的日志中, ...
- 虚拟机访问svn服务器超时_SVN卡顿原因及简单修复方法
项目中用SVN,使用过程中尤其时访问SVN浏览器的时候经常卡顿,这个时间累积起来很是浪费,所以找个机会从各个方面分析了一下卡顿原因,也总结了一些修复经验. 硬件问题 查看电脑配置是否SSD双硬盘,如果 ...
- linux下svn(subversion)服务端添加工程及配置权限
linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...
- SVN(subversion )服务端和客户端的下载安装使用
目录 一.服务端下载 二.客户端下载 三.服务端的安装 四.客户端的安装 五.windows环境下如何给intelij idea配置SVN 六.IntelliJ IDEA 使用SVN提交.更新.查看历 ...
- svn禁止访问“/svn/project/!svn/act解决办法
最近进行svn提交不了,系统提示如下错误: 禁止访问"/svn/project/!svn/act/xxxxxxxxxxxxxxx" 以为是权限问题,反复试了好几遍,权限设置 ...
最新文章
- SBB:石油污染土壤微生物群落构建与生物多样性研究(一作解读)
- AI时代,人与机器的沟通方式
- Js 原型对象与原型链(转)
- 递归删除父节点及所有子节点(转)
- GridView导出到Excel或Word文件
- 82%开源软件兼容Windows
- 实验详解——DNS网关服务器的分离解析
- 实现.Net程序中OpenTracing采样和上报配置的自动更新
- 结合WebSocket编写WebGL综合场景示例
- php新特性:trait 关键字使用
- 如果 AI 和算法无罪,那么谁在杀死穷人?
- grace hopper_开源日,在Grace Hopper会议上建立FOSS技能
- IDC:安全性、价格和低复杂性是企业采用SD-WAN的主要动因
- Django【跨域】
- 中国IT行业薪资:与销售相比,程序员真得很“穷”
- Scratch3.0安装教程
- CRC校验算法——C语言实现
- 【K8S】K8s部署Metrics-Server服务
- java从键盘上输入一位整数_当输入1到7时_从键盘上输入一位整数,当输入1~7时,显示对应的英文星期名称的缩写。...
- 第九周 练习判断闰年和平年