使用SVNKit 与ANT 导出SVN 版本差异的列表 现在SVN 用的越来越多,很多时候,经常面临这样的问题,怎么才能够知道2 个不同的版本之间的差异
如果使用TortoiseSVN,其实也好办
首先打开一个项目目录,选择一个目录,单击右键,再选择“show log”
再选择两个不同的版本(高亮),点击右键“compare revisions”: 这样就得到了两个版本之间的差异文件列表: 如果需要导出,那么选择文件,再右键单击: 这样就得到差异文件了
不过我们是写程序的,用的最多是Eclipse,窗口切换来去的,多麻烦
还有没有更好的办法呢
在这里我们要非常感谢SVNKIT 这样一个工具包
SVNKIT 是一个纯JAVA的SVN API
Eclipse 的SVN 插件正是基于这个API 的
先简单介绍一下SVNKIT
这个东西基本上是全能的,支持这样一些特性 支持http(s), svn, svn(+ssh) 以及file 协议访问SVN 库 支持工作拷贝的全部操作 支持仓库的管理操作:创建、装载、导出 没有安装 SVN 的环境也可以用 好啊,这正是我们想要的
从 SVNKIT API 来看,它提供了一组 Client 接口的API
通过这些API 我们可以操作工作拷贝,获得仓库版本的信息
为了比较版本之间的差异,我们会使用到SVNDiffClient,为了单独 CheckOut 差异文件,我们会使用到SVNUpdateClient,为了得到差异版本的提交日志,我们会使用到SVNLogClient
首先要连接到SVN 库
//初始化 DAVRepositoryFactory
setup(); //仓库路径 this
branchURL = SVNURL
parseURIEncoded(branchURL); th