Memperbarui ke versi dev yang lebih baru dari modul menggunakan Drush (mengabaikan titik / rilis yang direkomendasikan, tanpa kontrol versi trashing)

20

[NB Pertanyaan ini ada di belakang, tetapi terpisah / lebih jauh dari, pertanyaan saya sebelumnya, di sini .]

Saya telah menggunakan Drush cukup lama, tetapi sering kali saya bingung. Saat ini, saya benar-benar tidak yakin bagaimana cara melakukannya.

Skenario: saat ini, situs ini menggunakan rilis dev, dengan tanggal di masa lalu. Sementara itu, tidak ada rilis point yang telah dibuat, tetapi rilis dev yang lebih baru. Jadi kita punya sesuatu seperti:

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) 

Melakukan drush dl <module>-6.x-1.x-devmenimpa direktori yang ada dengan rilis 1.x dev terbaru. Tidak apa-apa, tapi itu merusak folder .svn.

Jika saya melakukannya drush upc <module>, itu akan mengunduh rilis titik (lihat edit di bawah), yang tidak saya inginkan, tetapi jika saya lakukan drush upc <module>-6.x-1.x-dev, itu hanya menyegarkan data pembaruan dan kemudian memberitahu saya "Versi tertentu sudah diinstal" pada baris yang relevan pada keluaran.

Jadi, bagaimana saya menggunakan drush untuk menimpa rilis dev lama, mendapatkan yang baru di tempatnya, tanpa merusak folder SVN?

EDIT: Sebenarnya, dalam hal ini, drush upc <module>mengunduh versi yang benar, tapi saya cukup yakin jika rilis poinnya bertanggal seperti 6.x-1.0 (2011-Jan-24) itu akan mendapatkan versi yang itu. Adakah yang ingin mengklarifikasi / memperbaiki?

NikLP
sumber

Jawaban:

9

Saya menemukan pertanyaan Anda sekarang karena saya memiliki pertanyaan yang sama persis. Tidak menemukan jawaban yang tepat, tetapi ini berhasil untuk saya:

#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>  

Untuk beberapa alasan, tidak melakukan komit antara rm dan dl menyebabkan masalah dengan svn. Saya tidak cukup tahu tentang svn untuk mengetahui mengapa, tetapi akan berterima kasih jika seseorang bisa menguraikan!

jas hujan
sumber
Hai @rainbreaw, mungkin jawaban untuk Q saya yang lain di sini mungkin berguna?
NikLP
7

Coba drush dl module-6.x-1.x-dev --svnsync.

forsythes
sumber
Ini bisa disusutkan segera drushsesuai GH # 1056 .
kenorb
2

Mungkin ada beberapa tugas instalasi yang dibutuhkan versi modul baru agar dapat berfungsi dengan baik, misalnya jika versi dev memiliki skema yang berbeda.

Jadi sebelum drush dl module-7.x.2.x melihat uninstall dan instal rincian dalam modul.

Waspadalah jika Anda memiliki data yang tidak ingin Anda hilangkan dalam tabel db yang terlibat. Buat cadangan jika Anda khawatir atau tidak yakin.

Jika perlu, nonaktifkan dan hapus instalasi modul sebelum mengunduh dan mengaktifkan modul baru.

Gunakan dis drush dan kemudian drush pm-uninstall

chim
sumber
1
Menghapus instalasi modul mungkin juga dapat membuang semua data yang telah disimpannya ke database. Bukankah skrip update.php seharusnya menangani perubahan skema dari versi ke versi?
Tony Patrinos
Itu poin yang baik, saya akan mengubah jawaban saya
chim