使用Drush更新模块的较新开发版本(忽略点/推荐发行版,而不会破坏版本控制)


20

[NB这个问题是关闭的背面,但分离/进一步,矿井的早期问题,这里。]

我已经使用Drush了好一阵子,但每隔一段时间我就会感到困惑。此刻,我真的不确定该怎么做。

场景:目前,该网站使用的开发版本是过时的。同时,尚未创建任何point release,但已创建了较新的dev版本。所以我们有这样的东西:

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,它只会刷新更新数据,然后在对话框的相关行上告诉我“已安装指定的版本”。输出。

那么,如何使用drush覆盖旧的dev版本,从而在不破坏SVN文件夹的情况下获得新版本?

编辑:实际上,在这种情况下,drush upc <module>下载的是正确的版本,但是我很确定,如果要发布的版本的日期像6.x-1.0(2011-Jan-24)一样,它将得到该版本。任何人都想澄清/纠正吗?

Answers:


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,也许对我这里其他问题的答案可能有用吗?
NikLP


2

新版本的模块可能需要执行一些安装任务才能正常工作,例如,如果开发版本具有不同的架构。

因此,在drush dl module-7.x.2.x 查看模块中的卸载和安装详细信息之前,请先进行了解。

当心,如果您不想丢失所涉及的数据库表中的数据,请注意。如果您担心或不确定,请备份。

如果需要,请下载和启用新模块之前禁用和卸载模块。

使用drush dis然后drush pm-uninstall


1
卸载模块可能还会丢弃已保存到数据库的所有数据。update.php脚本不是应该处理任何版本之间的架构更改吗?
Tony Patrinos

很好,我将修正我的答案
chim
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.