web-dev-qa-db-ja.com

Drushを使用してモジュールの新しい開発バージョンに更新する(バージョン管理を破棄せずに、ポイント/推奨リリースを無視)

[この質問は、私の以前の質問 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)である場合は、それが取得されていたはずです。誰かが明確/修正したいですか?

20
NikLP

同じ質問があったので、今あなたの質問を見つけました。正確な答えは見つかりませんでしたが、これは私にとってはうまくいきました:

#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について十分に理解していませんが、誰かが詳しく説明できればありがたいです!

9
rainbreaw

drush dl module-6.x-1.x-dev --svnsyncをお試しください。

7
forsythes

たとえば、開発バージョンのスキーマが異なる場合など、モジュールの新しいバージョンが正しく機能するために必要なインストールタスクがいくつかある場合があります。

そのため、drush dl module-7.x.2.xの前に、モジュールのアンインストールとインストールの詳細を確認してください。

関連するdbテーブルで失わないようにするデータがある場合は注意してください。心配な場合や不明な場合は、バックアップを取ってください。

必要な場合は、モジュールを無効にしてアンインストールしますbefore新しいモジュールをダウンロードして有効にします。

Drush disを使用してから、drush pm-uninstallを使用します。

2
chim