当前位置: 首页>>技术问答>>正文


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

webfans 技术问答 , , , 去评论

问题描述

[注意:这个问题不在我的早期问题的背面,而是与我的早期问题分开/进一步,here。]

我一直在使用Drush,但每次都经常让我感到难过。目前,我真的不知道该如何解决这个问题。

场景:目前,该网站使用过去发布的开发版本。与此同时,没有创建点发布,但是更新的发布版本已经发布。所以我们有类似的东西:

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年1月24日)那样,它会得到那个版本。有人想澄清/纠正吗?

最佳解决思路

我刚刚发现了你的问题因为我有完全相同的问题。没有找到确切的答案,但这对我有用:

#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知道原因,但如果有人能详细说明,我将不胜感激!

次佳解决思路

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

第三种解决思路

为了正常工作,可能有一些模块的新版本需要安装任务,例如,如果开发版本具有不同的模式。

所以在drush dl module-7.x.2.x之前看一下卸载并在模块中安装细节。

请注意,如果您有相关数据库表中不想丢失的数据。如果您担心或不确定,请备份。

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

使用drush dis然后碾压pm-uninstall

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/2072.html,转载请务必附带本地址声明。