如何在签出的第二个副本上执行svn切换

如何在签出的第二个副本上执行svn切换,svn,Svn,我有一个subversion签出,我有大约30个开关,从签出中的不同文件夹切换到分支。我想在另一台计算机上执行同样的操作,但我不想再次手动创建所有开关。有没有办法从我当前的签出中导出开关并将其导入到单独的签出中?啊。。好吧,我现在明白了。谢谢你的澄清。实际上,使用当前使用的方法会让自己陷入困境 这就是你的问题所在。可以说,您有一个根签出文件夹,其中包含一堆“子项目”。我的组织实际上使用了类似的结构。然而,不幸的是,您现在使用的方法要求您执行以下两个选项之一: 您当前正在使用的方法,正在签出根目录

我有一个subversion签出,我有大约30个开关,从签出中的不同文件夹切换到分支。我想在另一台计算机上执行同样的操作,但我不想再次手动创建所有开关。有没有办法从我当前的签出中导出开关并将其导入到单独的签出中?

啊。。好吧,我现在明白了。谢谢你的澄清。实际上,使用当前使用的方法会让自己陷入困境

这就是你的问题所在。可以说,您有一个根签出文件夹,其中包含一堆“子项目”。我的组织实际上使用了类似的结构。然而,不幸的是,您现在使用的方法要求您执行以下两个选项之一:

  • 您当前正在使用的方法,正在签出根目录 然后检查所有子项目

  • 查看您需要的所有子项目 需要很长时间)

  • 这种方法的问题是您当前所问的问题。为了再次执行此操作,您必须经历检查所有内容并再次切换的烦人过程


    但是,对于您的问题,有一个非常简单的解决方案。这就是使用svn:externals属性。例如,在
    根目录中,您可以创建另一个名为
    MyProject
    的文件夹。对于此文件夹
    MyProject
    ,您可以添加svn:externals列表(指向您的30个子文件夹的路径),并将其设置为
    MyProject
    文件夹上的属性。现在,无论您何时签出
    MyProject
    (无论您在哪台计算机上),它都将使用该组属性签出该文件夹(即一个
    svn checkout
    调用,该调用将额外签出您的所有子项目,而无需执行30个不同的svn切换)。现在,每次您为这些初始子项目创建一个新分支,而不是在每个目录上执行
    svn开关
    ,您所要做的就是更新
    MyProject
    文件夹中的属性列表,以指向您选择的分支。

    您大约有30个svn开关?这毫无意义。也许我没有正确地解释你想问的问题。。。所以你有一个签出文件夹,里面有很多子目录,对吗?在这个签出文件夹中,您对所有子目录都进行了svn切换?是的,我们有一个项目,有200个文件夹,每个文件夹都有人单独处理,因此他们可以为每个文件夹创建一个分支。在这种情况下,我有30个交换机到30个分支,我想在另一台计算机上重新创建它,而不是再次经历30个交换机的痛苦。我的意思是说子文件夹而不是文件夹。我签出包含200个子文件夹的文件夹,并在子文件夹中进行切换。哦,我明白了。这些是存储库中的符号链接,对吗?我以前创建过svn:externals。谢谢正确,如果您想使用这种比较,它们与Unix sym链接非常相似。使用它们有多种好处。1) 正如我提到的,您不必签出200个单独的模块,并且只使用其中的一小部分。2) 您团队中的每个开发人员都可以拥有自己的签出文件夹,即使您共享模块,您仍然在一个唯一的位置上工作。3) “sym链接”存储在存储库中,因此您不必担心从一台机器转移到另一台机器。