gilbertsoft / typo3-core-patches
使用Composer轻松管理TYPO3核心补丁。
资助包维护!
gilbertsoft
www.paypal.me/SGilli
Requires
- php: ^7.4.1 || ^8.0
- composer-plugin-api: ^2.0
- ext-json: *
- cweagans/composer-patches: ^1.7
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8.2
- composer/composer: ^2.0.9
- ergebnis/composer-normalize: >=2.28.3
README
本包允许您使用Composer轻松管理基于 cweagans/composer-patches 的TYPO3核心补丁,该包是此包的依赖项,并需要作为非开发依赖项安装以用于生产。
目录:
安装
本包需要Composer 2.0或更高版本。
以正常依赖项要求此包
composer require gilbertsoft/typo3-core-patches
如果将包作为开发需求安装,只要您不要求 cweagans/composer-patches
作为正常依赖项,使用 --no-dev
选项安装时不会应用补丁。
对于Composer 2.2及更高版本,必须显式允许插件,使用以下命令
composer config --no-plugins allow-plugins.gilbertsoft/typo3-core-patches true composer config --no-plugins allow-plugins.gilbertsoft/cweagans/composer-patches true
预发布
要安装预发布版本,使用以下命令之一运行稳定性标志 dev
、alpha
、beta
或 RC
composer require gilbertsoft/typo3-core-patches:@<stability>
例如,这将允许Composer安装beta、RC和稳定版本
composer require gilbertsoft/typo3-core-patches:@beta
用法
添加更改
在 https://forge.typo3.org 或 https://review.typo3.org 查找更改ID,并将其作为参数或多个参数提供,以同时处理多个更改
composer typo3:patch:apply 12345 composer typo3:patch:apply 12345 23456 34567
此插件将正确创建更改的补丁文件,并将其保存到默认为 patches
的补丁目录中。可以通过选项 --patch-dir
或快捷方式 -p
更改补丁目录
composer typo3:patch:apply --patch-dir:path/to/folder 12345 composer typo3:patch:apply -ppath/to/folder 12345
默认情况下,测试中的更改将被排除。如果您还想包括这些更改,请提供选项 --tests
或快捷方式 -t
。这将导致安装受影响包的源代码而不是分发包。
composer typo3:patch:apply --tests 12345 composer typo3:patch:apply -t 12345
更新更改
要更新应用的补丁到Gerrit的最后补丁集,只需运行以下命令,这将更新所有补丁
composer typo3:patch:update
也可以通过提供更改ID作为参数或多个参数来一次更新一些单个补丁
composer typo3:patch:update 12345 composer typo3:patch:update 12345 23456 34567
删除更改
提供要删除的更改ID作为参数或多个参数一次删除多个更改
composer typo3:patch:remove 12345 composer typo3:patch:remove 12345 23456 34567
支持的更改ID格式
此插件支持各种更改ID格式,具体请参阅 https://review.typo3.org/Documentation/rest-api-changes.html#change-id。
此外,您还可以指定更改的完整URL,如下例所示
composer typo3:patch:apply https://review.typo3.org/c/Packages/TYPO3.CMS/+/12345
配置
分支验证
插件会将当前安装的核心版本与要安装的补丁的目标分支进行比较,如果不同,则会提示确认是否尝试将补丁应用于不同版本。
要禁用此项目的分支检查,请运行
composer config extra.gilbertsoft/typo3-core-patches.ignore-branch true
过时补丁检测
当运行 composer update
或 composer install
时,插件会检测到已存在于正在安装的版本中的更改,并建议删除相关的补丁。如果您使用 --no-interaction
选项运行Composer,则始终保留补丁。可以通过以下配置 force-tidy-patches
进行更改。
如果您使用软件包的源代码版本,可能会发生错误,可以通过将配置选项 config.discard-changes
添加到您的 composer.json
文件中解决,请参阅 https://getcomposer.org.cn/doc/06-config.md#discard-changes。例如,运行 composer config discard-changes true
以将配置添加到您的 composer.json
文件中。
如果检测到 CI 环境,默认情况下会跳过合并更改的检测。要更改此行为并重新启用检测,请运行
composer config extra.gilbertsoft/typo3-core-patches.force-tidy-patches true
要完全禁用合并更改的检测,请运行
composer config extra.gilbertsoft/typo3-core-patches.disable-tidy-patches true
CI检测
插件会尝试检测 CI 环境,并在 CI 管道中运行时更改其默认行为。可以通过设置环境变量来覆盖检测
- 设置
GS_CI=1
以强制启用 CI 模式 - 设置
GS_CI=0
以禁用 CI 模式
反馈/错误报告/贡献
欢迎在 GitHub 仓库 中提交错误报告、功能请求、拉取请求或其他类型的反馈。
对于支持问题或其他讨论,请使用 GitHub 讨论区 或加入专门的 TYPO3 Slack 频道。
许可
本软件包采用 MIT 许可证 许可。