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

标签 svn replace directory repository working-copy

我需要在生产服务器上替换我的 SVN 存储库中的目录,但不确定在不破坏任何东西的情况下执行此操作的正确方法。被替换的目录是一个已经完全重构的第三方模块版本,所以为了干净地升级我需要删除旧的目录/文件并替换为新的目录和文件。当我这样做(使用 svn delete)时,工作副本被阻塞或处于阻止我提交或添加新的、未版本控制的目录到工作副本的状态。我已经尝试过 svn update、svn cleanup 以及其他 UI(TortoiseSVN 和 Cornerstone)修复快捷方式,但似乎无法让事情重新同步——即没有回滚到以前的版本或 checkout 新副本。

我认为必须删除本地工作副本和远程仓库上的目标目录,更新工作副本,将新目录添加到工作副本,然后提交到仓库;但我不确定我可能遗漏的细节或任何遗漏的步骤或细微之处。我正在升级的模块对站点应用程序非常重要,所以我需要在第一时间就做好这一点——因为这是在生产服务器上进行的——并且必须快速完成。如果有人能清楚地标出这些步骤,我将不胜感激。

最佳答案

为了使这更容易,您可以通过在目录不存在的情况下创建单个“损坏”修订的方式来执行此操作。

  • svn up更新您的工作副本
  • svn delete <directory>摆脱当前目录
  • svn commit -m 'Deleted old module'
  • 在新目录中复制到工作副本
  • svn add <directory>添加新目录结构
  • svn commit -m 'Added new module'


  • This question有关于如何使用“供应商分支”的详细信息,这可能被证明是适合您情况的更好解决方案。

    关于svn - 如何在不破坏任何内容的情况下替换 SVN 存储库中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5664666/

    相关文章:

    java - 如何在java中重命名文件夹

    python - Python中的目录树列表

    git-shell 等同于 svnserve -r?

    windows - 像 VisualSVN Server for Mercurial 这样的东西吗?

    Xcode 无法在 SVN 中获取新的类文件

    php - 在选择首先替换字符串部分的顺序时替换字符串

    mysql - GROUP CONCAT REPLACE sep 字符串

    SVN : Documentation also on a branch?

    c#-4.0 - C#TableLayoutPanel替换控件?

    python - os.walk 是否利用操作系统返回的文件类型来提高效率?