OCA工具,帮助模块迁移
项目描述
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):
如果与--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 查看哈希值)
关闭
oca_port-0.15.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0eaa08cd98fef97176658102a4b417d510fded8dc8daebecd4e23b4327c1edd1 |
|
MD5 | a0d16f72d5a502bdaeef88171cb8d112 |
|
BLAKE2b-256 | 70efd977fc5bb927d65d2f5227ef5af7da42bb5117bc1471e92ac1b5ab8d6aaf |
关闭
oca_port-0.15-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3405c883235d7314d3e9e96cf56d9d9ae4a19e5de8277e058fb41a086a89fb4b |
|
MD5 | de0f5dd3214e7ab207dcd32c81eff7f9 |
|
BLAKE2b-256 | 5073a6430e2a2f4631c6f9788ffeb33cb73d789791b5e4d946d481da8bc65b65 |