Benar, ini telah menghancurkan saya selama dua hari. Saya tidak bisa mendapatkan jawaban di mana pun!
Saya telah menggunakan 4.4 pada server saya. Saya menggunakan SVN melalui Unfuddle.com. Saya punya situs, saya ingin memperbarui banyak modul. Saya ingin memperbarui hanya kodenya, lalu memeriksa apakah berfungsi (pembaruan DB tidak menjadi masalah pada saat ini) kemudian komit kode yang relevan.
Dulu drush dl hanya akan mengunduh kode modul dari atas modul lama, tanpa menghapusnya. Tidak lagi demikian. Sekarang, AFAICT, drush menghapus direktori modul dan menggantinya dengan versi yang lebih baru. Itu semua baik dan bagus, karena itu memecahkan masalah file lama yang tidak lagi dalam modul yang diperbarui tertinggal.
Namun, menggunakan perintah drush dl atau upc, saya buntu, karena menjalankan perintah ini memang mendapatkan versi yang lebih baru, tetapi itu menghancurkan folder data SVN dalam proses, membuat saya dengan masalah "! Module / file.php" di mana-mana untuk file yang tidak ada lagi.
Saya telah disarankan bahwa "drush upc / dl modulename --version-control = svn" harus bekerja, tetapi tidak. Data SVN masih dihancurkan.
Ini meninggalkan saya dengan mimpi buruk potensial harus: svn del module, svn commit -m "Removed module", drush dl module, (test module), svn add module, svn commit -m "Added module" - untuk setiap single modul, yang merupakan horor total.
Saya tidak ingin mengatur drush untuk mengkomit perubahan saya secara otomatis, saya hanya ingin mengunduhnya dan melakukan semuanya secara manual di akhir ketika saya senang dengan perubahan itu. Ini tidak mungkin sulit, tetapi saya tidak bisa membuatnya bekerja.
Saya juga telah disarankan untuk pindah ke git (ya, saya sadar tidak mendukung mendukung git!) Juga merupakan solusi, tetapi itu bukan solusi langsung, dan tidak memuaskan pada saat ini.
Adakah yang bisa menjelaskan ini ?!
sumber
Jawaban:
Saya menjalankan Drush 4.4 dan ini tampaknya tidak menjadi masalah bagi saya. Menjalankan
drush upc
ataudrush up
menjaga.svn
direktori Anda tetap utuh. Anda dapatsvn status
meninjau perubahan pada modul. File baru ditunjukkan oleh?
dan file yang dihapus ditunjukkan oleh!
.Uji fungsionalitas situs Anda. Setelah Anda puas bahwa modul masih bekerja dengan benar, Anda kemudian dapat svn menambah / menghapus dengan potongan seperti berikut ini:
Menambahkan:
menghapus:
sumber
Anda harus menambahkan
--svnsync
ke perintah Anda.Contoh:
sumber