跳转到主要内容

OCA工具,帮助模块迁移

项目描述

Pre-commit Status

oca-port

帮助将插件或插件缺失的提交从一条分支移植到另一条分支的工具。

安装

$ pipx install oca-port
$ #OR
$ git clone git@github.com:oca/oca-port.git
$ cd oca-port
$ pipx install .

使用

如果插件在目标分支上不存在,它将协助用户进行迁移,遵循OCA迁移指南。

如果插件已在目标分支上存在,它将检索需要移植的缺失提交。如果存在针对缺失提交的拉取请求,如果它们尚未(完全)移植,则将整个拉取请求及其提交一起移植。

要检查插件是否可以迁移或获取可移植的提交

$ export GITHUB_TOKEN=<token>
$ oca-port 14.0 15.0 shopfloor --verbose

要有效地迁移插件或移植其提交,请使用--fork选项

$ oca-port 14.0 15.0 shopfloor --fork camptocamp

您还可以通过oca-port-pr工具直接在给定分支上黑名单一组拉取请求

$ oca-port-pr blacklist OCA/wms#250,OCA/wms#251 15.0 shopfloor

您还可以使用--reason参数给出更详细的黑名单原因

$ oca-port-pr blacklist OCA/wms#250,OCA/wms#251 15.0 shopfloor --reason "Refactored in 15.0, not needed anymore"

如果模块已移动到另一个仓库,您还可以指定其远程仓库

$ git remote add new_repo git@github.com:OCA/new-repo.git
$ oca-port-pr blacklist OCA/wms#250,OCA/wms#251 15.0 shopfloor --remote new_repo

插件迁移

该工具遵循通常的OCA迁移指南来移植插件的提交,并将邀请用户完成不能自动执行的步骤。

输出示例: 图片

如果与--non-interactive选项一起使用,如果插件可以迁移,则返回的退出代码是100

提交/拉取请求端口

该工具将询问用户是否想要对上游仓库打开草稿拉取请求。

如果有多个要端口的拉取请求,它将询问用户是否想要将下一个PR基于前一个PR,允许用户在一个分支中累积已端口的PR,并针对上游仓库创建包含所有这些的草稿PR。

更多详情请见: OCA Days 2022 - Sébastien Alix 和 Simone Orsi: oca-port:new OCA tool to help with modules migration

输出示例(带有 --verbose): oca_port_pr_verbose

如果与--non-interactive选项一起使用,如果某些拉取请求/提交可以端口,则返回的退出代码是110

API

您还可以将oca-port用作Python包

>>> import oca_port
>>> app = oca_port.App(
...     from_branch="14.0",
...     to_branch="16.0",
...     addon="stock_move_auto_assign",
...     from_org": "OCA",
...     from_remote": "origin",
...     repo_path": "/home/odoo/OCA/stock-logistics-warehouse",
...     output": "json",
...     fetch": True,
...     github_token: "ghp_sheeXai3xu1yoopheiquoo3ohch0AefooSob"
... )
>>> json_data = app.run()
>>> data = json.loads(json_data)
>>> from pprint import pprint as pp
>>> pp(data)
{'process': 'port_commits',
 'results': {'1631': {'author': 'TDu',
                      'merged_at': '2023-04-04T17:06:03Z',
                      'missing_commits': ['41416c1d7dad15ce4745e07d0541c79e938c2710',
                                          'd43985a443e29641447a3811f2310d54b886ab3d',
                                          '6bd9fcff3e814a6802c7aefadb9c646194cde42b'],
                      'ref': 'OCA/stock-logistics-warehouse#1631',
                      'title': '[14][ADD] stock_move_auto_assign_auto_release '
                               '- backport',
                      'url': 'https://github.com/OCA/stock-logistics-warehouse/pull/1631'}}}

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

oca_port-0.15.tar.gz (36.7 kB 查看哈希值)

上传时间

构建分发

oca_port-0.15-py3-none-any.whl (39.6 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页