更改subversion存储库布局 - 我应该在客户端上使用relocate吗?

时间:2010-09-01 13:13:28

标签: svn tortoisesvn

当我们开始使用subversion时,我创建了一个存储库,并直接在存储库的根级创建了trunk / branches / tags文件夹。例如,我正在使用这样的URL访问主干:

svn://server/repository_name/trunk

现在我想将其他项目添加到同一个存储库中,这意味着我想在存储库名称 trunk 之间添加另一个级别,例如:< / p>

svn://server/repository_name/project/trunk

我可以在TortoiseSVN存储库浏览器中轻松重新组织存储库。但是现有的工作副本应该怎么做:

  • 是“重新定位”正确的操作,还是需要重新结账?
  • 在第一种情况下,工作副本是否包含本地(未经修改)更改是否重要?
  • 红利问题:如果我还决定更改存储库名称会有什么不同吗?

2 个答案:

答案 0 :(得分:2)

“重定位”是正确的方法,但您应首先提交更改,然后进行重组。 您也可以更改存储库。重新安置也将处理这个问题。

答案 1 :(得分:1)

完成此类更改的最简洁方法是:

  1. 提交所有开发人员和其他开发人员的更改。
  2. 删除您和其他开发人员的工作副本。
  3. 使用存储库管理器工具(例如TortoiseSVN)直接对存储库进行更改。
  4. 每个人都会检查一份新的工作副本。您在存储库中实现的每个更改都会反映在新的工作副本中(名称更改,移动等)。
  5. 根据我的经验,重定位命令让其他人感到困惑。作为一名SVN管理员,我可以很好地想象它,但是,在一个软件组织中,你受到最小公分母的限制。上述步骤是最简单最直接的方法。

    如果您的代码目前确实不想签入,那么只需将该工作副本保留在原位并在另一个位置制作新的工作副本。请记住,旧的工作副本对于签入无效。重命名根目录并删除.svn子目录。