diffmanifests Skill (OpenClaw)
Use the diffmanifests CLI to compare two manifest XML files and get detailed commit/change reports. Install with pip install diffmanifests. Configuration lives in a JSON file; all four CLI arguments are required.
Installation
CODEBLOCK0
Upgrade: INLINECODE1
Configuration
Configuration is read from a JSON file. Bundled config (packed with this skill for OpenClaw hub): use config.json in this skill directory. Reference structure:
| Section | Parameter | Type | Description |
|---|
| gerrit | INLINECODE3 | string | Gerrit instance URL |
|
user | string | Auth username |
| |
pass | string | Password or API token |
| |
query.option | array | e.g.
["CURRENT_REVISION"] |
|
gitiles |
url | string | Gitiles instance URL |
| |
user | string | Auth username |
| |
pass | string | Password or API token |
| |
retry | integer | Retry attempts (default: 1) |
| |
timeout | integer | Timeout in seconds (-1 = no timeout) |
Example config.json:
CODEBLOCK1
Parameters (CLI)
| Argument | Required | Description |
|---|
| INLINECODE14 | ✅ | Path to configuration JSON file |
| INLINECODE15 |
✅ | Path to first (older) manifest XML |
|
--manifest2-file | ✅ | Path to second (newer) manifest XML |
|
--output-file | ✅ | Output path; format by extension:
.json,
.txt,
.xlsx |
Basic usage
Use the bundled config.json in this skill directory (or pass your own):
CODEBLOCK2
From inside the skill directory: --config-file config.json.
Output format is chosen by --output-file extension: .json (structured), .txt (plain text), .xlsx (Excel).
Output (JSON)
Each change entry can include: author, branch, change, commit, committer, date, diff (e.g. ADD COMMIT / REMOVE COMMIT), hashtags, message, repo, topic, url.
When to use
- - User asks to compare two manifest files or manifest versions.
- User mentions diffmanifests, Gerrit manifest diff, or Gitiles manifest comparison.
- Task involves Android/repo manifest version analysis or change reports.
diffmanifests 技能 (OpenClaw)
使用 diffmanifests CLI 比较两个清单XML文件,获取详细的提交/变更报告。通过 pip install diffmanifests 安装。配置存储在JSON文件中;所有四个CLI参数均为必填项。
安装
bash
pip install diffmanifests
升级:pip install diffmanifests --upgrade
配置
配置从JSON文件中读取。捆绑配置(随此技能打包用于OpenClaw中心):使用本技能目录中的 config.json。参考结构:
| 部分 | 参数 | 类型 | 描述 |
|---|
| gerrit | url | 字符串 | Gerrit实例URL |
|
user | 字符串 | 认证用户名 |
| | pass | 字符串 | 密码或API令牌 |
| | query.option | 数组 | 例如 [CURRENT_REVISION] |
|
gitiles | url | 字符串 | Gitiles实例URL |
| | user | 字符串 | 认证用户名 |
| | pass | 字符串 | 密码或API令牌 |
| | retry | 整数 | 重试次数(默认:1) |
| | timeout | 整数 | 超时秒数(-1 = 无超时) |
示例 config.json:
json
{
gerrit: {
url: https://android-review.googlesource.com,
user: ,
pass: ,
query: { option: [CURRENT_REVISION] }
},
gitiles: {
url: https://android.googlesource.com,
user: ,
pass: ,
retry: 1,
timeout: -1
}
}
参数(CLI)
| 参数 | 必填 | 描述 |
|---|
| --config-file | ✅ | 配置JSON文件的路径 |
| --manifest1-file |
✅ | 第一个(较旧)清单XML文件的路径 |
| --manifest2-file | ✅ | 第二个(较新)清单XML文件的路径 |
| --output-file | ✅ | 输出路径;根据扩展名决定格式:.json、.txt、.xlsx |
基本用法
使用本技能目录中捆绑的 config.json(或传入你自己的配置):
bash
diffmanifests \
--config-file config.json \
--manifest1-file path/to/older.xml \
--manifest2-file path/to/newer.xml \
--output-file path/to/output.json
在技能目录内执行:--config-file config.json。
输出格式由 --output-file 的扩展名决定:.json(结构化)、.txt(纯文本)、.xlsx(Excel)。
输出(JSON)
每个变更条目可包含:author、branch、change、commit、committer、date、diff(例如 ADD COMMIT / REMOVE COMMIT)、hashtags、message、repo、topic、url。
使用场景
- - 用户要求比较两个清单文件或清单版本。
- 用户提及 diffmanifests、Gerrit 清单差异比较或 Gitiles 清单比较。
- 任务涉及 Android/repo 清单版本分析或变更报告。