如何将svn external从一个工作副本复制到另一个工作副本?

时间:2013-01-17 13:41:31

标签: svn tortoisesvn

假设我有ProjectA和ProjectB,bot在以下树结构中使用相同的库Library1作为外部:

ProjectA
  src
  Library1

ProjectB
  src
  Library1

我已经查看了ProjectA的工作副本,我想查看ProjectB的工作副本。与服务器的连接非常慢,而Library1相当大。

过去可以将Library1子目录从一个项目复制到另一个项目。然后,svn会自动检测到外部已经检出并使用它而不再转移它。

当在subversion 1.7.0中更改工作副本的目录结构时,它停止工作。

有什么方法可以使用已经检出的Library1副本来加速检查ProjectB吗?

(当然这不仅仅是一次检查,只有两个项目,但很多项目。)

编辑:我正在谈论的奇怪的事情是不允许我将Library1子目录从ProjectA复制到ProjectB显然是由TortoiseSNV引起的。它似乎更新了一些文件,而复制尚未完成,导致.svn子目录中的不一致。在与BeyondCompare进行目录比较并用原始文件覆盖修改后的文件后,一切都按预期工作。

2 个答案:

答案 0 :(得分:0)

尝试使用--ignore-externals签出第二个项目,然后将Libray1从项目1复制到项目2(或者如果您的操作系统允许,则创建一个符号链接)。这应该可以解决问题。

答案 1 :(得分:0)

  

有什么方法可以使用已经检出的Library1副本来加速检查ProjectB吗?

如果两个项目的 Library1的来源是常见的(即Lib存储在独立的第3个位置),当前状态不干净/对于我/ - 您将能够复制Library1 subree 从project-WC到project-WC(因为externals的目标是在WC内嵌套WC,对于共享源,这些WC将是相同的。)

AFAICS,你的自由人现在从不同的起源服务,因此 - 不能在WC之间自由转移

相关问题