我们有一个svn存储库。
我想从这个存储库中检出几个文件夹到我的本地机器。具体来说,我想检查从svn到我的工作区的7个文件夹,它出现在C:/ workspace。 (这样在结账后结构变成C:/ workspace /(所有7个文件夹))。
问题是:在7个文件夹中,4个在路径1上,其他3个文件夹在路径2上。
这是我尝试过的,
我尝试在工作区内手动创建文件夹(使用“新建文件夹”选项),并从svn检出内容,但这会使文件夹与svn不同步(工作区上没有绿色标记)。
我正在使用svn tortoise windows shell实用程序。
请建议需要做什么才能获得结构C:/ workspace /(来自svn的所有7个文件夹)。
答案 0 :(得分:0)
选项4是一种正确的方法。但你是对的,workspace
目录不会被版本化。那是因为你从未检查过 - 你只检查了它下面的目录。相反,7个目录中的每个目录都有自己的.svn
目录,而不是workspace
级别的目录。在这种情况下,我认为您无法对多个根目录中的文件进行更改。
您可能考虑的另一个选择是将所需文件夹标记或分支到存储库的另一部分,然后检查出来。
答案 1 :(得分:0)
您可以将第二个存储库中的其他三个文件夹签出到单独的文件夹,然后将文件夹移动到第一个结帐。它有效。
答案 2 :(得分:0)
要获得所需的布局,请查看c:/Workspace
下七个文件夹中每个文件夹的根目录,以便进行7次不同的结帐。
在您评论标记/分支的评论中 - 请勿对c:/Workspace
中的文件夹执行此操作。相反,要么;
copy to...
命令或...然后svn根据需要在c:/ workspace中切换文件夹。
由于这当然容易出错,因此请考虑编写重复部分的脚本。对于结账和交换,ant build.xml很容易。
答案 3 :(得分:0)
如果这是经常结帐的文件夹组合,您可以考虑使用svn:externals:在 path1 上,设置 svn:externals -property从 path2 获取4个文件夹。
或者,您可以在任一存储库中创建一个全新的文件夹并设置_svn_externals_,以便检出所有7个文件夹。 (请注意,从Subversion 1.5开始,您还可以对同一存储库中的路径使用相对定义。)