找到重要的上游解决方案
ensurecvs的Python项目详细描述
目的
此工具将帮助识别当前源树中的提交
- 同一分支上的远程可用
- 在父分支机构可用
并且可能包含错误修复。在
历史
当您在项目中使用第三方组件时,很难 保持安全和测试与保持联系之间的平衡 上游/主线,尤其是当您必须决定代码是否为 尽可能安全。在
大多数情况下,对于使用的组件和 对应版本。在
我在看2019’s keynote of Greg Kroah-Hartman at Embedded Linux Conference Europe in Lyon 他说,大多数问题都没有CVE条目了,他们 只需通过在上游提交(至少对于内核)进行修复。在
这在某种程度上很难维持,因为大多数情况下你根本不想这样做 更改功能集(因为这已经过测试和批准),但需要 该项目的错误和问题修复。在
这就是这个工具发挥作用的地方——它执行自动检查 如果有可用的上游修复程序-如果有的话,如果它们只包含 修复而不是功能。在
Ensurecvs,帮助您确保并且您使用了最好的 content版本控制系统
它的作用
- 它从本地存储库克隆中提取当前使用的提交
- 这可以通过指定--srcrev或^{tt2}来重写$ 在命令行中
- 它从本地存储库克隆中提取当前使用的分支
- 这可以通过在命令中指定--srcbranch来覆盖 线路
- 它获取当前分支中的所有远程可用提交
- 它获取对“master”的所有提交,因为当前分支已经
分支(可以通过
在命令行中使用--upstream)
- 它过滤掉了所有可能被精心挑选的承诺 当前分支
- 所有剩余的提交都根据其提交进行了分类 消息
- 提交很可能被分类为错误修复 控制台(STDOUT)
使用
usage: ensurecsv [-h][--srcbranch SRCBRANCH][--srcrev SRCREV | --srctag SRCTAG][--upstream UPSTREAM] localdir Ensure that you're using the most secure source code positional arguments: localdir Path to local repo optional arguments: -h, --help show this help message and exit --srcbranch SRCBRANCH Use explicitly given branch --srcrev SRCREV Use explicitly given source revision --srctag SRCTAG Use explicitly given tag --upstream UPSTREAM Use explicitly given branch as upstream
安装
从pypi
简单地跑
^{pr2}$来源
- git克隆此存储库
- cd到<;克隆文件夹>;/ensurecvs
- 通过运行安装所需的需求 pip3 install -r requirements.txt
- 运行python3 setup.py build install(可能需要'sudo')
输出
工具将返回
[branch] commit <commit hash>:'<commit message>' is likely to contain bugfixes
例如
[master] commit 173dfc1c07c9fa901a91adbc9bf8fd41961b9837:'Fix compile issue with python-astor' is likely to contain bugfixes
这意味着提交173dfc1c07c9fa901a91adbc9bf8fd41961b9837 当前在分支master中找到的可能包含一个错误修复 尚未在当前选定的分支中使用
实施说明
目前只支持git存储库
未来
如果您对以下一个或多个主题感兴趣,请随意 和我联系
- 更好的提交分类(可能使用this here之类的东西)
- 更好的文档
- 用于更好的提交分类的变更集代码分析
- 检查本地代码中的树外修补程序
- 比较cherry pick分析的变更集差异
- 流线型代码
- svn存储库支持
贡献
请随意添加问题或请求
- 项目
标签: