一个专为 OpenWrt 开发者设计的混合架构高性能补丁管理平台,v8.16.0版本提供检测性能优化功能。
- ⚡ 性能提升: AWK 调用优化,大型补丁文件检测速度提升 30-40%
- 🚀 效率优化: 合并重复的 awk 调用,减少文件读取次数
- 🆕 新建文件检测增强: 新增对 "The next patch would create the file" 模式的识别
- 📊 Ignored Hunks 处理: 智能处理 "X out of Y hunk ignored" 情况
- 🔗 merge-patches命令: 支持合并两个Git格式补丁文件
- 📊 智能元数据处理: 保留完整头部信息和统计数据
- 🎯 自动输出管理: 生成带时间戳的合并文件名
- 🌍 双语帮助系统: 完整的中英文帮助文档 (help-cn/help-en)
- 🔤 Bash自动补全: 智能命令、选项和文件路径补全
- 📁 多格式兼容: 支持Git、传统、上下文、Quilt等多种补丁格式
- 📥 批量下载工具: 自动获取Linux内核CVE补丁
- 🔄 fold/header命令: 完整的补丁编辑和合并功能
- 📊 可视化分析: graph/graph-pdf命令生成补丁依赖关系图
# 临时启用自动补全(当前终端会话)
source tools/quilt_patch_manager_completion.bash
# 永久启用自动补全(推荐)
echo "source $(pwd)/tools/quilt_patch_manager_completion.bash" >> ~/.bashrc
source ~/.bashrc
# 使用示例
./tools/quilt_patch_manager_final.sh <Tab><Tab> # 显示所有可用命令
./tools/quilt_patch_manager_final.sh graph-pdf --<Tab> # 显示graph-pdf选项
./tools/quilt_patch_manager_final.sh quick-apply <Tab> # 补全.patch文件openwrt-tools/
├── tools/ # 工具脚本目录
│ ├── quilt_patch_manager_final.sh # v8.16.0 主工具 (检测性能优化版)
│ ├── quilt_patch_manager_completion.bash # Bash自动补全脚本
│ ├── download_monthly_cve.sh # CVE批量下载工具
│ ├── patch_helper.sh # 补丁辅助工具(历史版本)
│ ├── patch_helper_universal.sh # 通用补丁辅助工具
│ ├── kernel_snapshot_tool/ # 内核快照工具目录
│ │ ├── kernel_snapshot # v1.1.0 可执行文件(编译生成)
│ │ ├── 使用指南.md # 详细使用指南
│ │ ├── 快速开始示例.md # 快速上手示例
│ │ └── 配置文件示例.conf # 配置文件模板
│ ├── snapshot_tool/ # 快照工具(其他版本)
│ └── memory_monitor_drivers_suite/ # 内存监控驱动套件
├── doc/ # 完整文档体系
│ ├── DOCUMENTATION_INDEX.md # 文档总索引 ⭐
│ ├── TECHNICAL_MANUAL_CN.rst # 中文技术手册
│ ├── TECHNICAL_MANUAL.rst # 英文技术手册
│ ├── QUICK_START_GUIDE_CN.rst # 中文快速开始
│ ├── QUICK_START_GUIDE.rst # 英文快速开始
│ ├── 01_tool_guides/ # 工具使用指南
│ │ ├── QUILT_PATCH_MANAGER_GUIDE.md # 补丁管理器详细指南
│ │ ├── FOLD_HEADER_USAGE.md # fold/header命令使用指南
│ │ └── VERSION_COMPARISON_*.md # 版本对比文档
│ ├── 02_workflow_guides/ # 工作流程指南
│ │ ├── QUILT_CVE_PATCH_CREATION_GUIDE.md # CVE补丁制作实战教程
│ │ └── CVE_PATCH_WORKFLOW.md # 标准化补丁工作流程
│ ├── 03_reference_manuals/ # 参考手册
│ │ ├── QUILT_COMMANDS_REFERENCE.md # Quilt命令全集参考
│ │ └── OPENWRT_TARGET_LINUX_*.md # OpenWrt相关参考
│ └── 04_summaries/ # 总结与归档
├── suggest/ # 改进建议和计划文档
│ ├── ACTION_PLAN_FOR_PATCH_TOOL.md # 工具行动计划
│ ├── ENHANCED_FEATURES_FOR_CVE_PATCH_TOOL.md
│ └── kernel_snapshot_tool_*.md # 快照工具相关建议
├── CHANGELOG.md # 版本变更日志
├── README.md # 中文说明文档
├── README-en.md # 英文说明文档
├── quick_start.md # 快速开始指南
└── quick_start.txt # 快速开始文本版
注意:patch_manager_work/ 是工具运行时自动生成的工作目录,包含缓存、输出和临时文件,已加入 .gitignore。
# 支持多种输入格式的智能冲突分析,自动检测补丁是否已应用
# v8.16.0 优化:大型补丁文件检测速度提升 30-40%
./tools/quilt_patch_manager_final.sh test-patch commit-hash
./tools/quilt_patch_manager_final.sh test-patch local-patch.patch
./tools/quilt_patch_manager_final.sh test-patch https://url/to/patch
# 如果补丁已应用,会自动显示"补丁效果已存在"提示# 文件变更跟踪和管理
./tools/quilt_patch_manager_final.sh snapshot # 创建快照
./tools/quilt_patch_manager_final.sh export # 导出变更文件
./tools/quilt_patch_manager_final.sh export-from-file files.txt # 按文件列表导出# 标准Quilt操作
./tools/quilt_patch_manager_final.sh new patch-name # 创建新补丁
./tools/quilt_patch_manager_final.sh push # 应用补丁
./tools/quilt_patch_manager_final.sh refresh # 刷新当前补丁
./tools/quilt_patch_manager_final.sh series # 显示补丁系列# 补丁合并功能
./tools/quilt_patch_manager_final.sh merge-patches patch1.patch patch2.patch
# 补丁编辑功能
./tools/quilt_patch_manager_final.sh fold external.patch # 合并外部补丁
./tools/quilt_patch_manager_final.sh header # 编辑补丁头部# 生成补丁依赖关系图
./tools/quilt_patch_manager_final.sh graph # 文本格式
./tools/quilt_patch_manager_final.sh graph-pdf # PDF格式# 批量下载CVE补丁
./tools/download_monthly_cve.sh 2024 1 3 # 下载2024年1-3月CVE# 一键补丁应用
./tools/quilt_patch_manager_final.sh quick-apply patch-file.patch
# 快照数据清理
./tools/quilt_patch_manager_final.sh snapshot-clean # 交互式清理
./tools/quilt_patch_manager_final.sh snapshot-clean -f # 强制清理- Linux/Unix 环境
- Bash 4.0+
- Git 2.0+
- Quilt 0.60+
graphviz(用于graph-pdf命令)curl/wget(用于网址补丁下载)
# 1. 克隆仓库
git clone https://github.com/TbusOS/openwrt-tools.git
cd openwrt-tools
# 2. 设置执行权限
chmod +x tools/*.sh
# 3. 启用Bash自动补全(可选)
source tools/quilt_patch_manager_completion.bash- 📋 完整文档索引 - 所有文档的总览
- 📖 中文技术手册 - 详细技术文档
- 📖 English Technical Manual - English documentation
- 🚀 中文快速开始 - 快速上手指南
- 🚀 English Quick Start - Quick start guide
- 📚 工具使用指南 - 详细使用说明
- 🆚 版本对比 - v7.0 vs v8.0功能对比
- 📝 变更日志 - 完整版本历史
当你不确定补丁是否会产生冲突时,使用智能冲突分析功能:
# 分析GitHub commit
./tools/quilt_patch_manager_final.sh test-patch 1234567890abcdef
# 分析本地补丁文件
./tools/quilt_patch_manager_final.sh test-patch my-patch.patch
# 分析在线补丁
./tools/quilt_patch_manager_final.sh test-patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=abc123对于确认无冲突的补丁,使用快速应用功能:
# 一键应用补丁到OpenWrt
./tools/quilt_patch_manager_final.sh quick-apply security-fix.patch当需要提取修改的文件时:
# 导出所有变更
./tools/quilt_patch_manager_final.sh export
# 按文件列表导出
./tools/quilt_patch_manager_final.sh export-from-file changed-files.txt将多个相关补丁合并为一个:
# 合并两个Git格式补丁
./tools/quilt_patch_manager_final.sh merge-patches fix1.patch fix2.patch| 特性 | v7.0.0 (最终稳定版) | v8.0.0 (混合架构高性能版) | v8.6.0 (新增命令功能版) | v8.7.0 (Bash自动补全版) | v8.9.0 (国际化增强版) | v8.10.0 (补丁解析增强版) | v8.11.0 (补丁合并功能版) | v8.12.0 (冲突分析增强版) | v8.15.0 (智能已应用检测版) | v8.16.0 (检测性能优化版) |
|---|---|---|---|---|---|---|---|---|---|---|
| 基础Quilt操作 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 智能冲突分析 | ✅ | ✅ 增强 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ Index格式支持 | ✅ 智能检测 | ✅ 性能优化 |
| Git风格快照 | ❌ | ✅ 新增 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 文件导出功能 | ❌ | ✅ | ✅ 增强 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 网址链接支持 | ❌ | ❌ | ✅ 新增 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 可视化图表 | ❌ | ❌ | ✅ 新增 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Bash自动补全 | ❌ | ❌ | ❌ | ✅ 新增 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| CVE批量下载 | ❌ | ❌ | ❌ | ❌ | ✅ 新增 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 双语帮助系统 | ❌ | ❌ | ❌ | ❌ | ✅ 新增 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 多格式解析 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 新增 | ✅ | ✅ 增强 | ✅ | ✅ |
| 补丁合并功能 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 新增 | ✅ | ✅ | ✅ |
| 冲突分析增强 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 新增 | ✅ | ✅ |
| 补丁已应用检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 新增 | ✅ |
| 检测性能优化 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 新增 |
- 🎯 混合输入架构: 统一支持commit-id、本地文件、网址三种输入方式
- 📂 Git风格快照系统: 类似Git的文件变更跟踪和导出功能
- ⚡ 高性能C语言助手: 大文件处理速度提升5-10倍
- 🔄 增强冲突分析: 更准确的补丁冲突检测和定位
- 📊 智能报告系统: 详细的操作日志和统计报告
- 🌐 网络资源支持: 直接处理在线补丁资源
- 🔧 智能配置集成: 继承v8.1.0所有配置优化和错误诊断功能
欢迎提交Issue和Pull Request来改进这个工具!
- GitHub仓库: https://github.com/TbusOS/openwrt-tools
- 问题反馈: https://github.com/TbusOS/openwrt-tools/issues
- 功能建议: 通过Issue或Discussion讨论
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
OpenWrt补丁管理工具链 v8.16.0 - 让补丁管理更简单、更高效、更快速!