# VersionCompare
**Repository Path**: wudxcode/VersionCompare
## Basic Information
- **Project Name**: VersionCompare
- **Description**: 用来生成版本差异文件,方便增量更新
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 1
- **Created**: 2017-12-04
- **Last Updated**: 2025-06-11
## Categories & Tags
**Categories**: vcs
**Tags**: None
## README
# VersionCompare
---
用来生成版本差异文件,方便增量更新
使用前需要先安装`nodejs`
### 配置文件config.xml
按需修改配置文件
```
d:\code\nodejs\test
d:\code\nodejs\test2
true
2000
aaa\xxx|aaa\aaaa.txt
```
### 生成差异配置
```
D:\code\nodejs\VersionCompare>node index.js -c config.xml
```
第一次打版本,会在`输出目录`生成文件`.history` 和`version.json`
`.history`是历史记录文件,主要根据这个文件来生成文件差异配置。
主要记录大版本号,和各个文件对应的版本号和md5值
```
20171204154609
001.txt20171204154609C8252D98634C30F96320C93C0BF8F8AE
aaa\xxx.txt2017120415460918D423DB14F083C6CCEABF934DD722BD
```
`version.json`就是我们项目中需要用到文件,主要记录从上个大版本到目前所有修改过的文件,第一次打版本`version.json`还不会有数据,因为没有上一个版本可比较,也就没有差异文件。
后面的版本打包,如果有差异文件,会记录在`version.json`,并在`输出目录`创建以当前日期命名的文件夹,比如`20171204155419`,里面包含所有差异的文件(含目录结构)
```json
{
"001.txt":"20171204155419",
"aaa\/xxx.txt":"20171204155419"
}
```
### 规则
### 项目中使用
根据要加载文件的url在`version.json`文件中查找,如果能找到就使用`version.json`记录的版本号,没有就直接使用大版本号