本程序基于SVN仓库对比两个版本之间的差异,并将新增和修改的文件下载到本地打包为zip文件,同时新建init.xml,标记被删除的文件,从而实现补丁包的自动构建。
jdk8
maven-3.2.5
svnkit:实现SVN差异对比和文件下载
commons-io:简化IO流操作
commons-compress:实现zip打包
dom4j:XML文件构建
# svn用户名
svn.username=******
# svn密码
svn.password=******
# 部署包的svn地址,程序基于本地址对比差异
svn.deployment.package.url=https://******/svn/201705-0200-0007-GeoStack2.0地理信息智能云/40_源码/20_综合运维/基线包/实时解压版本/OperationCenter-1.8/OperationCenter
# svn起始版本号
svn.reversion.start=8937
# svn结束版本号
svn.reversion.end=10182
# 存放补丁包文件的临时目录
svn.patch.temp.directory=C:\\Users\\Nihaorz\\Desktop\\patch
# 补丁包压缩文件的根目录,即zip文件的根目录
svn.patch.zip.root.directory=OperationCenter
# 补丁包日期格式
svn.patch.file.date.format=yyyymmdd
# 补丁包文件名格式
svn.patch.file.format=geostack_operationcenter-2.0.1.0-${date}.patch.el6.zip
# 补丁包的上传地址
svn.patch.package.url=https://******/svn/201705-0200-0007-GeoStack2.0地理信息智能云/40_源码/20_综合运维/基线包/对外打包版本/OperationCenter-1.8克隆代码后请自行修改以下配置:
svn.username:svn用户名
svn.password:svn密码
svn.deployment.package.url:部署包的svn地址,程序基于本地址对比差异
svn.reversion.start:svn起始版本号
svn.reversion.end:svn结束版本号
svn.patch.temp.directory:存放补丁包文件的临时目录
svn.patch.zip.root.directory:补丁包压缩文件的根目录,即zip文件的根目录
svn.patch.file.date.format:补丁包日期格式
svn.patch.file.format:补丁包文件名格式
svn.patch.package.url:补丁包的上传地址(目前未实现补丁包自动上传,后面有时间再实现吧)
运行TestMain测试类的testDiff()方法即可,如果需要修改补丁包结构或者xml文件结构,请自行修改测试类实现。