web-dev-qa-db-ja.com

Composer:現在の開発が安定したら、開発ブランチを必要とし、安定に戻ります

Drupalモジュール(またはコア)のパッチが必要で、開発バージョンにのみ含まれている)としましょう。

これはすでにコミットされており、通常は次の安定版リリースに含まれるはずです。

composerとりあえず開発バージョンを入手し、次のリリースがリリースされたらすぐに安定版に切り替えたいと思います。

私がこれを元にした場合:

composer require drupal/bootstrap:3.x-dev

回避したいパッチが安定版に含まれていても、それは引き続きdevバージョンに更新されます...

これを達成する方法はありますか?

例のために。 composer「このモジュールのバージョンが欲しいhasには、コミットを含める必要があるが、開発または安定しているが、可能であれば安定したほうがよい」 。

そのため、モジュールにパッチを適用して、それを忘れることができます。

1
Thony

パッチを使用することをお勧めします。

composerに、現在の安定版リリースに必要なパッチをダウンロードしてインストールするように依頼します。

パッチが安定版リリースに含まれるようになると、パッチは適用されなくなります(パッチは基本的にdiffファイルであるため、diffがない場合、パッチはありません)。

インストール https://github.com/cweagans/composer-patches これは、パッチを宣言するためにcomposer.jsonのセクションを使用できるようにする依存関係です。自動的にインストールされます。

composer require cweagans/composer-patches

次に、composer.jsonにセクションを追加します。

"extra": {
    "enable-patching": true,
    "patches": {
        "drupal/module_to_be_patched": {
            "<patch1 information>": "<patch1 file path>",
            "<patch2 information>": "<patch2 file path>"
        }
     }
}

問題のモジュールトラッカー、モジュールのリポジトリにパッチファイルのパスがあります。

たとえば、drupal/webformの問題に対する連続したパッチ: https://www.drupal.org/project/webform/issues/3137981

その後、単に

composer install

パッチが端末にインストールされていることがわかります。

リファレンス: https://groups.drupal.org/node/518975

パッチ: https://www.drupal.org/patch/apply

4
Simon Vart