$options['package-handler'] = 'git_drupalorg';
を.drushrc.phpファイルに設定しました。ディストリビューション(この場合、Commonsの7.x-3.x-devリリース)に対してdrush makeを実行すると、ディストリビューション自体はgitを使用してチェックアウトされますが、その中の個々のプロジェクト(モジュールとテーマ)はチェックアウトされません。これらのプロジェクトを個別のgitリポジトリとしてチェックアウトするにはどうすればよいですか?サブモジュールが機能することを前提としていますが、それを機能させるために正確に何が必要ですか?
これを実行する直接的な方法はありません。
これは、開発環境に適したシーケンスです。 --package-handler=wget
とdrush make
に基づいています。サブモジュールはありません。 Contribはsites/all
にダウンロードされます。
cd /tmp
drush dl commons --variant=profile-only
drush make commons/drupal-org-core.make distro
mv commons distro/profiles
rm -rf distro/sites/all/
drush make --no-core --no-gitinfofile --working-copy distro/profiles/commons/drupal-org.make distro/sites/all
sites/all
は存在しない宛先を必要とするため、drush make
を使用しました。そのため、distro/profiles/commons
はオプションではありません。別の方法としては、tmpディレクトリで最後のmakeを実行し、後でprofile
ディレクトリにコピーします。
補足として、drupal.orgプロファイルはダウンロードする3つのパッケージを提供します:プロファイルのみ、コアプロファイルとプロジェクト、プロファイルとプロジェクト。参考として http://drupal.org/node/1867206 を参照してください。
drush dl
は、これら3つのtarballの中から選択するオプションを提供します:--variant=<full,projects,profile-only>
。 3つのオプションはすべて--package-handler=wget
で使用できますが、git_drupalorg
では、単一のgitプロジェクトに対応するため、有効なオプションはprofile-only
のみです。
つまり、サブモジュールを使用して(drush dl commons --variant=full --package-handler=git_drupalorg
)を提供するためのより複雑なワークフローを実装する余地はあります。