代码之家  ›  专栏  ›  技术社区  ›  p.campbell

ankhsvn:将项目移动到另一个回购

  •  6
  • p.campbell  · 技术社区  · 15 年前

    我的任务是将这个vs解决方案和项目移动到另一个svn服务器。我正在使用visual studio 2010 rc1和ankhsvn 2.1.7819….

    • 目前,所有文件都绑定到 C:\Repositories\foo .
    • 我想把它移到 http://someSite/svn/foo

    我发现最明显的方法是 挂起的更改-源文件 窗口(似乎属于ankhsvn)。它似乎允许您更改正在使用的存储库。

    alt text

    alt text

    我收到一条错误消息:

    存储库uuid'152c39db-5799-4234-85f2-074004a6fcad'与预期的uuid'6c83444d-7f93-d64a-b0a0-23283495cf17'不匹配

    问题

    • 在AnkhSVN我如何避免这个信息?
    • 是否有更好的解决方案将源代码转移到新目标的回购协议中?
    • 我怎样才能让安克忘记“回购”呢? C:\Repositories\ 永远?
    3 回复  |  直到 15 年前
        1
  •  5
  •   Bert Huijben    15 年前

    此对话框在同一存储库中的不同位置之间执行切换(并允许您在存储库移动时更改URL)。

    在您的情况下,您希望切换到一个完全不同的存储库,它不共享历史记录。(也许你想保留历史,但你没有要求)。

    若要将数据复制到不同的存储库,可以执行导出,然后使用“添加解决方案向导”。

    TortoiseSVN有一个就地导出功能,可以从工作副本中删除所有.svn文件夹。你也可以用这个。(确保在删除.svn目录后刷新ankhsvn状态)

        2
  •  2
  •   Sander Rijken    15 年前

    如果你想保留历史,请看 Migrating Repository Data Elsewhere 在那本极好的书里。它还描述了一种保持库uuID相同的方法,这样您就可以从旧的重新定位到新的。

    不过,一定要禁用旧的,这样你就不会同时得到对这两者的承诺(如果发生这种情况,那是非常糟糕的事情)。

        3
  •  1
  •   MikeT    8 年前

    这是一个老问题,但没有一个答案与提出的问题有关

    现在假设您已经创建了新的存储库(如果不查看其他答案)

    在“文件”菜单中,有一个“subversion”项在“更改源代码管理”选项下

    在这里,您需要做的第一件事是断开解决方案和所有项目与svn的连接

    一旦您断开连接,突出显示解决方案和项目,然后查看屏幕旁边的“SCC绑定路径”的下半部分是一个[…]按钮,点击它,您就可以更改存储库。

    将其更改为正确的repo,然后重新连接项目和解决方案,现在应该使用新的repo

    使用tortoisesvn中的relocate命令的更简单的方法是,这将更新解决方案中的svn文件,然后由ankh选择,尽管使用相同的“更改源代码管理”屏幕进行双重检查

    推荐文章