Atualizando para uma versão mais recente de desenvolvimento de um módulo usando o Drush (ponto de ignição / versões recomendadas, sem controlar a versão da lixeira)

20

[NB Esta questão está na parte de trás de, mas separada / além de uma pergunta anterior, aqui .]

Eu uso Drush há um bom tempo, mas de vez em quando fico perplexo. No momento, não tenho muita certeza de como fazer isso.

Cenário: atualmente, o site usa um release de desenvolvedor, datado no passado. Enquanto isso, nenhum lançamento pontual foi criado, mas um lançamento mais recente do desenvolvedor. Então, temos algo como:

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) 

Doing drush dl <module>-6.x-1.x-devsubstitui o diretório existente com a última versão 1.x dev. Tudo bem, mas lixeira a pasta .svn.

Se fizer drush upc <module>isso, ele fará o download da versão pontual (veja a edição abaixo), o que eu não quero, mas se o fizer drush upc <module>-6.x-1.x-dev, apenas atualiza os dados da atualização e depois diz "Versão especificada já instalada" na linha relevante no saída.

Então, como uso o drush para sobrescrever a versão antiga do desenvolvedor, colocando a nova em seu devido lugar, sem destruir a pasta SVN?

EDIT: Na verdade, neste caso, drush upc <module>baixa a versão correta, mas tenho certeza de que se o lançamento do ponto fosse datado como 6.x-1.0 (2011-Jan-24), ele teria essa. Alguém quer esclarecer / corrigir?

NikLP
fonte

Respostas:

9

Encontrei sua pergunta agora mesmo porque tinha exatamente a mesma pergunta. Não encontrou uma resposta exata, mas funcionou para mim:

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

Por alguma razão, não fazer o commit entre a rm e a dl causou um problema com o svn. Eu não sei o suficiente sobre svn para saber o porquê, mas ficaria grato se alguém pudesse elaborar!

rainbreaw
fonte
Oi @rainbreaw, talvez a resposta para o meu outro Q aqui possa ser útil?
NikLP
7

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

forsythes
fonte
Isso pode ser depreciado em breve drushconforme GH # 1056 .
Kenorb
2

Pode haver algumas tarefas de instalação que a nova versão de um módulo precisa para funcionar corretamente, por exemplo, se a versão dev tiver um esquema diferente.

Portanto, antes de drush dl module-7.x.2.x dar uma olhada nos detalhes de desinstalação e instalação no módulo.

Cuidado se você tiver dados que não deseja perder nas tabelas db envolvidas. Faça um backup se estiver preocupado ou inseguro.

Se necessário, desative e desinstale o módulo antes de baixar e ativar o novo módulo.

Use drush dis e, em seguida, drush pm-uninstall

chim
fonte
11
A desinstalação do módulo também pode descartar todos os dados que ele salvou no banco de dados. O script update.php não deve lidar com nenhuma alteração de esquema de versão para versão?
Tony Patrinos
Esse é um ponto bom, eu vou alterar a minha resposta
chim