ffx product-bundle bisect 命令通过对程序集制品进行二分查找,帮助识别产品软件包中的回归。
概念
如果产品软件包的两个版本之间出现 bug 或行为变更,ffx product-bundle bisect 可帮助您确定是哪个特定制品(平台、主板或产品)引入了变更。具体方式如下:
- 生成已知良好版本 (
--from-success) 和已知不良版本 (--to-failure) 之间的已发布版本列表。 - 使用不同版本的制品组合来组装中间产品包。
- 有助于对这些中间软件包进行测试,以确定它们是通过还是失败。
通过对制品使用二分搜索(或中值切割)方法,该工具可以快速缩小回归的来源范围。
用法
您可以按照该工具的提示手动运行二分法。
手动二分
如需在产品软件包的两个已知版本之间开始二分搜索,请运行以下命令:
ffx product-bundle bisect <name> --from-success <version> --to-failure <version>将 <name> 替换为软件包的名称(例如 core.vim3),并将 <version> 替换为软件包版本号。
该工具将组装中间软件包,并提示您对其进行测试。测试完成后,您需要告知该工具相应步骤是通过还是失败,然后该工具会计算下一步。
暂停和恢复
您可以随时按 CTRL+C 暂停二分法流程。该工具会保存其状态。下次运行完全相同的 ffx product-bundle bisect 命令时,系统会询问您是要继续上次运行还是要重新开始。
选项
ffx product-bundle bisect的详细选项:
--from-success:产品包的已知良好版本。--to-failure:已知存在问题的产品包版本。--slot:要进行二分的 slot(a或r)。默认为 slota。--out-dir:用于写入组装的图片和其他工件的目录。 默认设置为~/plan_directory/out。--gen-dir:用于写入中间文件的目录。默认值为~/plan_directory/gen。--auth:用于提取制品的身份验证方法。
示例
手动二分商品组合:
ffx product-bundle bisect core.vim3 \
--from-success 29.20250826.6.1 \
--to-failure 29.20250905.6.1