mnocon/composer-checkout

轻松检出依赖项的工具

安装: 269

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 2

开放性问题: 4

类型:composer-plugin

v0.2.5 2024-01-10 14:39 UTC

This package is auto-updated.

Last update: 2024-09-10 16:07:09 UTC


README

描述

这个Composer插件允许您将GitHub上的Pull Request作为Composer依赖项添加,无需考虑仓库和分支别名。再也不用麻烦地处理vendor目录啦 ;)

简单地运行 composer checkout <pullRequestUrl> [<pullRequestUrl2>...],其余的将自动处理。

Example usage of the command

还有一个apply-patch命令,用于处理由Pull Request生成的差异。

安装

建议进行全局安装:composer global require mnocon/composer-checkout,这将使新命令在每个项目中可用。

对于本地安装,运行:composer require mnocon/composer-checkout

此包需要至少PHP 7.1和Composer 2。

用法

有两个新的Composer命令

composer checkout

基于GitHub Pull Request添加Composer依赖项。

示例用法

composer checkout https://github.com/symfony/symfony/pull/41105

或交互式

 composer checkout

 Please enter the number of Pull Requests [1]:
 > 1

 Link to Pull Request:
 > https://github.com/symfony/symfony/pull/41105

在两种情况下,输出将类似于这个

Checking out dependency: symfony/symfony:dev-inflector-edges as 4.4.x-dev
./composer.json has been updated
Running composer update symfony/symfony
Loading composer repositories with package information
Updating dependencies
Lock file operations: 25 installs, 0 updates, 0 removals
  - Locking doctrine/annotations (1.12.1)
  - Locking doctrine/cache (1.11.0)
  - Locking doctrine/collections (1.6.7)
  - Locking doctrine/event-manager (1.1.1)
  - Locking doctrine/lexer (1.2.1)
  - Locking doctrine/persistence (2.1.0)
  - Locking friendsofphp/proxy-manager-lts (v1.0.3)
  - Locking laminas/laminas-code (4.2.1)
  - Locking laminas/laminas-eventmanager (3.3.1)
  - Locking laminas/laminas-zendframework-bridge (1.2.0)
  - Locking psr/cache (1.0.1)
  - Locking psr/container (1.1.1)
  - Locking psr/link (1.0.0)
  - Locking psr/log (1.1.4)
  - Locking symfony/contracts (v1.1.10)
  - Locking symfony/polyfill-ctype (v1.22.1)
  - Locking symfony/polyfill-intl-icu (v1.22.1)
  - Locking symfony/polyfill-intl-idn (v1.22.1)
  - Locking symfony/polyfill-intl-normalizer (v1.22.1)
  - Locking symfony/polyfill-mbstring (v1.22.1)
  - Locking symfony/polyfill-php72 (v1.22.1)
  - Locking symfony/polyfill-php73 (v1.22.1)
  - Locking symfony/polyfill-php80 (v1.22.1)
  - Locking symfony/symfony (dev-inflector-edges 8b2c097)
  - Locking twig/twig (v3.3.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 25 installs, 0 updates, 0 removals
  - Syncing symfony/symfony (dev-inflector-edges 8b2c097) into cache
  - Installing doctrine/lexer (1.2.1): Extracting archive
  - Installing doctrine/annotations (1.12.1): Extracting archive
  - Installing doctrine/cache (1.11.0): Extracting archive
  - Installing doctrine/collections (1.6.7): Extracting archive
  - Installing laminas/laminas-zendframework-bridge (1.2.0): Extracting archive
  - Installing laminas/laminas-eventmanager (3.3.1): Extracting archive
  - Installing laminas/laminas-code (4.2.1): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.22.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.22.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.22.1): Extracting archive
  - Installing twig/twig (v3.3.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.22.1): Extracting archive
  - Installing symfony/polyfill-php73 (v1.22.1): Extracting archive
  - Installing symfony/polyfill-php72 (v1.22.1): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.22.1): Extracting archive
  - Installing symfony/polyfill-intl-icu (v1.22.1): Extracting archive
  - Installing psr/container (1.1.1): Extracting archive
  - Installing psr/cache (1.0.1): Extracting archive
  - Installing symfony/contracts (v1.1.10): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing psr/link (1.0.0): Extracting archive
  - Installing symfony/symfony (dev-inflector-edges 8b2c097): Cloning 8b2c097950 from cache
  - Installing friendsofphp/proxy-manager-lts (v1.0.3): Extracting archive
  - Installing doctrine/event-manager (1.1.1): Extracting archive
  - Installing doctrine/persistence (2.1.0): Extracting archive
5 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

composer apply-patch

使用patch命令应用Pull Request的差异。

示例用法

composer apply-patch https://github.com/symfony/symfony/pull/41105

或交互式

 composer apply-patch

 Please enter the number of Pull Requests [1]:
 > 1

 Link to Pull Request:
 > https://github.com/symfony/symfony/pull/41105

在两种情况下,输出将类似于这个


 [OK] Downloaded patch: patch_symfony-symfony-41105


Running command: patch -d vendor/symfony/symfony -i ../../../patch_symfony-symfony-41105 -Np1
patching file src/Symfony/Component/Inflector/Inflector.php
patching file src/Symfony/Component/Inflector/Tests/InflectorTest.php


 [OK] Applied patch!