[この質問は、私の以前の質問 here の裏側にありますが、それとは別に/さらに遠く離れています。]
私はDrushを使用してきましたが、たびたび困惑します。現時点では、どうすればいいのかよくわかりません。
シナリオ:現在、サイトは過去の日付の開発リリースを使用しています。その間、ポイントリリースは作成されていませんが、新しい開発リリースが作成されています。したがって、次のようなものがあります。
Reroute Email 6.x-1.x-dev (2010-Sep-27)
Recommended version: 6.x-1.0 (2008-Jul-24)
Development version: 6.x-1.x-dev (2011-Feb-25)
drush dl <module>-6.x-1.x-dev
は、既存のディレクトリを最新の1.x開発リリースで上書きします。それは問題ありませんが、.svnフォルダーをゴミ箱に移動します。
私が行った場合 drush upc <module>
、ポイントリリースをダウンロードします(以下の編集を参照)。これは不要ですが、ダウンロードするとdrush upc <module>-6.x-1.x-dev
、更新データを更新し、出力の関連する行に「指定されたバージョンは既にインストールされています」と表示します。
では、DVNを使用して古い開発リリースを上書きし、SVNフォルダーをゴミ箱に入れずに新しいリリースを代わりに取得するにはどうすればよいですか?
編集:実際には、この例では、drush upc <module>
は正しいバージョンをダウンロードしますが、ポイントリリースの日付が6.x-1.0(2011-Jan-24)である場合は、それが取得されていたはずです。誰かが明確/修正したいですか?
同じ質問があったので、今あなたの質問を見つけました。正確な答えは見つかりませんでしたが、これは私にとってはうまくいきました:
#svn rm <module>
#svn commit -m"removing the module... whatever you want to write"
#drush dl <module>-6.x-2.x-dev
#svn add <module>
何らかの理由で、rmとdlの間でコミットを実行しないと、svnで問題が発生しました。私はsvnについて十分に理解していませんが、誰かが詳しく説明できればありがたいです!
drush dl module-6.x-1.x-dev --svnsync
をお試しください。
たとえば、開発バージョンのスキーマが異なる場合など、モジュールの新しいバージョンが正しく機能するために必要なインストールタスクがいくつかある場合があります。
そのため、drush dl module-7.x.2.x
の前に、モジュールのアンインストールとインストールの詳細を確認してください。
関連するdbテーブルで失わないようにするデータがある場合は注意してください。心配な場合や不明な場合は、バックアップを取ってください。
必要な場合は、モジュールを無効にしてアンインストールしますbefore新しいモジュールをダウンロードして有効にします。
Drush disを使用してから、drush pm-uninstallを使用します。