it-swarm-eu.dev

Aktualizace modulů pomocí drush bez porušení SVN?

Správně, tohle mě dva dny láme. Nemohu dostat odpověď nikde!

Mám na serveru 4.4. Používám SVN přes Unfuddle.com. Mám web, chci aktualizovat spoustu modulů. Chci aktualizovat pouze kód, poté zkontrolovat, zda funguje (aktualizace DB se v tuto chvíli netýká), a poté odevzdat příslušný kód.

Bývalo to, že drush dl jednoduše stáhne kód modulu přes horní část starého modulu, aniž by jej odstranil. To již není pravda. Nyní, AFAICT, drush odebere adresář modulů a nahradí jej novější verzí. To je vše v pořádku a dobře, protože to řeší problém starých souborů, které již nejsou v aktualizovaném modulu ponechány.

Nicméně pomocí příkazů drush dl nebo upc jsem uvízl, protože spuštění těchto příkazů skutečně získá novější verzi, ale zničí datovou složku SVN v tomto procesu a všude mi zůstanou problémy s "! Module/file.php" soubory, které již neexistují.

Bylo mi řečeno, že "drush upc/dl modulename --version-control = svn" by mělo fungovat, ale ne. Data SVN jsou stále zničena.

To mi ponechává potenciální noční můru, kdy musím: svn del modul, svn commit -m "Odstraněný modul", drush dl modul, (vyzkoušejte modul), svn add module, svn commit -m "Přidaný modul" - pro každou jednotlivou modul, což je totální hrůza.

Nechci nastavit drush, aby se mé změny automaticky zavázaly, chci je pouze stáhnout a odevzdat je všechny ručně na konci, když jsem se změnami spokojen. Tohle nemůže být tak těžké, ale já prostě nemůžu dostat to do práce.

Také mi bylo sděleno, že přechod na git (ano, vím, že se nerozhodně podporuje git!) Je také řešením, ale není to okamžité a v tomto okamžiku není uspokojivé.

Může to prosím někdo osvětlit ?!

8
NikLP

protože spuštění těchto příkazů skutečně získá novější verzi, ale zničí datovou složku SVN v tomto procesu a ponechá mě "! module/file.php"

Používám Drush 4.4 a to se mi nezdá. Běh drush upc nebo drush up udržuje vaše .svn adresáře neporušené. Můžeš svn status pro kontrolu změn modulů. Nové soubory jsou označeny znakem ? a odstraněné soubory jsou označeny znakem !.

Otestujte funkčnost svého webu. Jakmile jste přesvědčeni, že moduly stále fungují správně, můžete svn přidat nebo odebrat pomocí úryvku, jako je například následující:

přidat:

svn status | grep '^\?' | cut -c8- | while read f; do svn add "$f"; done

odebrat:

svn status | grep '^\!' | cut -c8- | while read f; do svn rm "$f"; done
6
jwal

Měli byste přidat --svnsync k vašemu příkazu.

Příklad:

 drush pm-update module_to_update --version-control=svn --svnsync 
4
claire_