找到重要的上游解决方案

ensurecvs的Python项目详细描述


Build statusPyPI versionPython versionDownloadsLanguage grade: 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存储库支持

贡献

请随意添加问题或请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在java中调用Paint组件方法   多层次POM中的java覆盖依赖项/插件管理   java模式识别   JavaSpringMVC+Log4j2定义了Log4j2。未标识非类路径位置中的属性文件   java我们如何将IntelliJ IDEA中的maven和gradle项目与源代码浏览支持集成?   Maven mvn exec:java在Windows上工作,但不是Ubuntu 20   java在Jaxb2Marshaller上使用带有packagesToScan属性的JAXBElement时没有端点适配器   java删除方法和节点   java如何为某些场景创建正则表达式模式   java如何通过gridView中的intent()传递ArrayList数据。setOnItemClickListener()   java UnsupportedClassVersionError 1.7/1.5   java为什么JVM参数是http。tomcat servlet没有使用proxyHost?   java将ArrayList从字母顺序排序到最频繁/最不频繁   java动态字段列表迭代   java如何将字节转换为位?   hadoop java。mapreduce作业中的lang.NullPointerException   javasocketIO无法与Android中的LocationListener一起使用   java在卸载时清除内部存储   java池回收错误2个精灵同时碰撞到一个精灵