Drushを使用したモジュールの新しい開発バージョンへの更新(バージョン管理を破壊することなく、ポイント/推奨リリースを無視)


20

[NBこの質問は、私の以前の質問の裏にありますが、ここでは別です。

私は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 devリリースで上書きされます。それは問題ありませんが、.svnフォルダーを破壊します。

もしそうならdrush upc <module>、それは私が望んでいないポイントリリースをダウンロードします(以下の編集を参照)が、もしそうならdrush upc <module>-6.x-1.x-dev、それは単に更新データを更新し、それから関連する行に「指定されたバージョンが既にインストールされています」と教えてくれます出力。

それでは、SVNフォルダーを破棄せずに、drushを使用して古いdevリリースを上書きし、代わりに新しいリリースを取得する方法を教えてください。

編集:実際には、この例でdrush upc <module>は、正しいバージョンをダウンロードしますが、ポイントリリースが6.x-1.0(2011-Jan-24)のように日付が付けられていれば、それが得られたはずです。誰もが明確/修正したいですか?

回答:


9

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

#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について十分に知らないので、その理由を知ることはできませんが、誰かが詳しく説明できるとありがたいです!


@rainbreawこんにちは、おそらく私の他のQへの答えはここに使用であるかもしれませんか?
NikLP


2

たとえば、devバージョンのスキーマが異なる場合、モジュールの新しいバージョンが適切に動作するために必要なインストールタスクがいくつかある場合があります。

drush dl module-7.x.2.x モジュールのアンインストールとインストールの詳細を見る前に。

関係するdbテーブルで失いたくないデータがある場合は注意してください。心配がある場合や不明な場合は、バックアップを作成してください。

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

drush disを使用してからpm-uninstallを削除します


1
モジュールをアンインストールすると、データベースに保存したすべてのデータが破棄される可能性もあります。update.phpスクリプトは、バージョンごとのスキーマの変更を処理することになっていないのですか?
トニーパトリノス

それは良い点です、私は私の答えを修正します
チム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.