对比快照差异 (diffRepoSnapshots)

功能描述

此 API 端点 POST /api/repo/diffRepoSnapshots 用于对比两个指定的版本库快照之间的差异。

它可以帮助用户或开发者了解两个不同时间点的版本库状态变化,例如哪些文件被添加、修改或删除了。

请求参数

请求体必须是 JSON 格式,包含以下参数:

请求示例:


{
  "left": "20231026100000-abcdefg", 
  "right": "20231027100000-hijklmn"
}
            

响应结果

成功的请求将返回一个 JSON 对象,code 为 0,data 字段包含差异信息。


{
  "code": 0,
  "msg": "",
  "data": {
    "addsLeft": [ // 相对于 right,left 中新增的文件列表 (通常为空,除非 left 比 right 新)
        // {"path": "/path/to/new/file1.sy", "type": "f", "hash": "...", "size": 123, "hSize": "123 B", "mode": 436, "mtime": 1666771200, "hMtime": "..."},...
    ],
    "updatesLeft": [ // 相对于 right,left 中更新的文件列表
        // {"path": "/path/to/updated/file2.sy", ... },...
    ],
    "updatesRight": [ // 相对于 left,right 中更新的文件列表 (内容应与 updatesLeft 一致)
        // {"path": "/path/to/updated/file2.sy", ... },...
    ],
    "removesRight": [ // 相对于 left,right 中移除的文件列表
        // {"path": "/path/to/removed/file3.sy", ... },...
    ],
    "left": { // 第一个快照的索引信息
      "time": 1666771200,
      "hTime": "2023-10-26 10:00:00",
      "id": "20231026100000-abcdefg",
      "size": 102400,
      "hSize": "100 KB",
      "tag": "", // 快照标签(如果有)
      "files": [ /* ... left 快照中的所有文件列表 ... */ ]
    },
    "right": { // 第二个快照的索引信息
      "time": 1666857600,
      "hTime": "2023-10-27 10:00:00",
      "id": "20231027100000-hijklmn",
      "size": 103424,
      "hSize": "101 KB",
      "tag": "v1.0",
      "files": [ /* ... right 快照中的所有文件列表 ... */ ]
    }
  }
}
            

每个文件信息对象通常包含 `path` (路径), `type` (类型,如 'f' 文件, 'd' 目录), `hash` (内容哈希), `size` (大小), `hSize` (可读大小), `mode` (权限), `mtime` (修改时间戳), `hMtime` (可读修改时间)。

在线测试

您可以在下方输入要对比的两个快照 ID 进行在线测试。






响应结果:


            

注意:这是一个社区维护的文档,可能与官方最新版本存在差异。

如果您觉得本文档有帮助,可以考虑赞助支持:爱发电