# RfR **Repository Path**: jamescho/RfR ## Basic Information - **Project Name**: RfR - **Description**: RfR是 Rapid File Release 首字母缩写。是一个基于Java开发的版本增量补丁发布工具。主要用于解决后续版本发布时于前版本的文件变化比较,并生成差异化文件及文件夹的补丁包。通过对版本文件夹和文件进行遍历,生成“版本描述文件”,用于记录目录结构,文件的md5串,通过多个版本描述文件的比较生成增量补丁包。例如,我们发布的Web应用后,通过RfR在服务器上生成版本描述文件xxx_1.0.xml。后续在本地开发了新版本后,也生成版本描述文件(xxx_1.1.xml),将服务器上的版本描述文件下载到本地,与本地的版本描述文件,即可生成 xxx_1.1_patch 增量补丁包,直接替换服务器上的对应文件即可实现升级。具体功能包括: 1、生成版本描述文件 2、生成补丁包 3、文件夹或文件过滤,不生成到补丁包中(例如:正式服务器上的一些用户上传文件不作为程序文件进行比较) 4、可用于程序文件变更监控、变更自动发布更新等,这些需要另外写监控程序,希望开源后大家持续完善。 时间有限,很多程序中很多方法不一定很高效,例如文件夹的递归遍历等,希望起到抛砖引玉作用。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2017-03-02 - **Last Updated**: 2023-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README <<<<<<< .mine RfR 是 Rapid file Release 首字母缩写。 本程序主要是为了解决Java Web 工程在发布时以及后续发布的过程中,对于已发布文件的版本描述,以及后续版本的增量文件打包。 因为在web开发过程中,在后续版本发布时,每次都需要单独选择变更的文件打包再上传到服务器,文件一多,操作麻烦。且容易遗漏或者出错(如: 将本地的配置文件更新到服务端,配置参数发生了变化) 通过本程序,可以实现以下功能: 1、对已的程序所有文件生成(命令 cvf)“版本描述文件”,清晰的记录了当前版本所有已发布的目录和文件。在生成“版本描述文件”时 只记录版本中要控制的文件,可通过过滤方式将非版本发布文件,例如:本地配置文件,本地日志、本地资源文件等进行目录或者文件过滤。 2、增量发布版本: 版本发布后,只需要将已发布的“版本描述文件”与本地新发布的版本描述文件进行比较(cmf),即可获得变化的文件或目录清单。 再通过打补丁(cpf),即可生成补丁文件包。 只需要将补丁文件包替换到服务器既可。 在发布后,从服务器端再次生成“版本描述文件” 又可记录本次发布的版本。 3、文件版本核对: 每次发布后,记录当前的版本描述文件,可以对版本描述文件和已发布版本文件进行定期检测,以及时发现因非版本发布操作而产生的文件变更 (如被人为恶意的修改文件等) 说明: 1、本程序需要有Java环境,JDK1.7以上,请确保具备环境再运行命令。 2、因作者无Linux和Unix环境,所以只在Windows下进行了测试,Linux和Unix下运行最可能出错的就是路径分隔符引起的问题,后续开源后有兴趣的朋友可以自己完善 3、配置参数说明详见工程中RR.properties注解 基本命令 显示配置参数:java -jar rfr_1.0.jar 生成版本控制文件:java -jar rfr_1.0.jar cvf 比较两个版本差异(不生成补丁包):java -jar rfr_1.0.jar cmf 比较两个版本差异(成补丁包):java -jar rfr_1.0.jar cpf ======= #RfR RfR 是 Rapid file Release 首字母缩写。 本程序主要是为了解决Java Web 工程在发布时以及后续发布的过程中,对于已发布文件的版本描述,以及后续版本的增量文件打包。 因为在web开发过程中,在后续版本发布时,每次都需要单独选择变更的文件打包再上传到服务器,文件一多,操作麻烦。且容易遗漏或者出错(如: 将本地的配置文件更新到服务端,配置参数发生了变化) 通过本程序,可以实现以下功能: 1、对已的程序所有文件生成(命令 cvf)“版本描述文件”,清晰的记录了当前版本所有已发布的目录和文件。在生成“版本描述文件”时 只记录版本中要控制的文件,可通过过滤方式将非版本发布文件,例如:本地配置文件,本地日志、本地资源文件等进行目录或者文件过滤。 2、增量发布版本: 版本发布后,只需要将已发布的“版本描述文件”与本地新发布的版本描述文件进行比较(cmf),即可获得变化的文件或目录清单。 再通过打补丁(cpf),即可生成补丁文件包。 只需要将补丁文件包替换到服务器既可。 在发布后,从服务器端再次生成“版本描述文件” 又可记录本次发布的版本。 3、文件版本核对: 每次发布后,记录当前的版本描述文件,可以对版本描述文件和已发布版本文件进行定期检测,以及时发现因非版本发布操作而产生的文件变更 (如被人为恶意的修改文件等) 说明: 1、本程序需要有Java环境,JDK1.7以上,请确保具备环境再运行命令。 2、因作者无Linux和Unix环境,所以只在Windows下进行了测试,Linux和Unix下运行最可能出错的就是路径分隔符引起的问题,后续开源后有兴趣的朋友可以自己完善 3、配置参数说明详见工程中RR.properties注解 基本命令 显示配置参数:java -jar rfr_1.0.jar 生成版本控制文件:java -jar rfr_1.0.jar cvf 比较两个版本差异(不生成补丁包):java -jar rfr_1.0.jar cmf 比较两个版本差异(成补丁包):java -jar rfr_1.0.jar cpf >>>>>>> .theirs