如何在不破坏任何内容的情况下替换SVN存储库中的目录

|| 我需要替换生产服务器上SVN存储库中的目录,但是不确定在不破坏任何内容的情况下执行此操作的正确方法。要替换的目录是已完全重组的第三方模块修订版,因此为了进行彻底升级,我需要删除旧的目录/文件并替换为新的目录和文件。当我这样做时(使用svn delete),工作副本变得受阻或处于阻止我将新的未版本化目录提交或添加到工作副本的状态。我已经尝试过svn更新,svn清理以及其他UI(TortoiseSVN和Cornerstone)修复快捷方式,但似乎无法使它们重新同步-这无需回滚到以前的版本或检查拿出新的副本。 我认为必须删除本地工作副本和远程仓库上的目标目录,更新工作副本,将新目录添加到工作副本中,然后再提交给仓库;但我不确定具体细节或可能遗漏的任何步骤或细微之处。我要升级的模块对于站点应用程序非常重要,因此我需要在第一时间做到这一点-因为这是在生产服务器上进行的-必须快速完成。如果有人可以清楚地指出这些步骤,我将不胜感激。     
已邀请:
为了使此操作更容易,您可以通过创建一个不存在该目录的单个“损坏的”修订版的方式来实现。
svn up
更新工作副本
svn delete <directory>
摆脱当前目录
svn commit -m \'Deleted old module\'
在新目录中复制到工作副本
svn add <directory>
添加新的目录结构
svn commit -m \'Added new module\'
该问题包含有关如何使用“供应商分支”的详细信息,这可能被证明是针对您情况的更好解决方案。     
使用TortoiseSVN的RepoBrowser可以很简单地做到这一点。只需删除旧文件夹,然后将新文件夹拖放到其中即可。     
如果确实需要在一次提交中更新目录结构,则可以使用WinMerge: 使用SVN过滤器以避免比较.svn目录,以递归方式比较两棵树 从WC中删除新结构中不存在的文件和目录 将仅在新结构中存在的文件和目录添加到WC 用WC中的新文件替换两个结构中同时存在的所有文件 承诺     

要回复问题请先登录注册