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