ローカルDrupalサイトをDrupalコアがgitリポジトリになるようにインストールするので、パッチで作業できます。
Drushなどのツールも必要なので、gitクローンを作成するだけでは機能しません。コアのgitクローンにそれらをインストールすると、composer.json
コアに属するファイル。
これを行う正しい方法は何ですか?
本当に正しい、または最善の方法があるかどうかはわかりません。私がやり取りしたすべてのコア開発者には、それぞれに最適な独自のセットアップがあります。
私の一般的なセットアップは
インストール、クリーニング、diff、パッチの生成、テストの実行などのためのシェルスクリプトがたくさんあるので、これを行います。これらのスクリプトはすべて無視されます。
Drushに関する限り、私はグローバルインストールを維持し、タグを定期的にチェックアウトしています。次に、各ブランチディレクトリに 。envrc を設定し、すべてを正しく$ PATHします。これにより、composer.jsonへの変更が防止されます。
ただし、いくつか試してみることができます。しばらく前に、特定のPHPバージョンでテストをローカルで実行することは、ポストコンポーザースクリプトを介してphpunitを更新することを意味しました。次に、git diff ...
を実行する前にcomposer.jsonとcomposer.lockを復元する必要がありました。パッチ/相互差分を生成します。drushでも同様のことができます。
上記のアプローチは、私のスクリプトの更新に関する私の最終リストにあります。
これを解決するには、Drushを個別にインストールし(まだDrush 8を使用しています)、GitでダウンロードしたDrupalのインストールでDrushコマンドを実行します。
preferred-install
sourcelike contribモジュールのドキュメント これは私のニーズに合います。
composer create-project --no-install drupal/recommended-project:8.8.x-dev se-291135
cd se-291135/
これにより、^ 8.8(8.8.2のように)が必要になるため、composer.jsonを編集して、すべての出現箇所を8.8.x-devと追加し、preferred-install
"config": {
"preferred-install": {
"drupal/core": "source",
"*": "dist"
},
...
ロックファイルを削除する必要がある理由がわかりません:-/
rm composer.lock
これらの設定でインストールすると、drupal/code
inweb/coreヘッドを取り外してあります。それを修正すれば、ほぼ完了です。
composer install
cd web/core
git checkout Origin/8.8.x
パッチが確実に一致するようにするにはdrupal a git diff
エイリアスが役立ちます
alias corediff='git diff --src-prefix=a/core/ --dst-prefix=b/core/'