您好我在服务器上创建了一个名为allProj的存储库。 allProj结构如下:
allProj
现在我想创建另一个存储库reqProj,其中包含来自'allProj'的特定项目 预期的'reqProj'结构是:
reqProj
P.S:我想创建具有所有访问控制和历史记录的'allProj'。
我在这个主题上搜索了很多但是我找不到任何解决方案。
任何帮助都将不胜感激。
答案 0 :(得分:2)
了解SVN外部,如果您希望共享对象具有单点历史记录,或者在物理复制子树的情况下svnadmin dump
+ svndumpfilter
+ svnadmin load
由于搜索速度最快,我发现:
并且,如果您遇到错误的困难时期"缺少节点"在普通的svndumpfilter命令中
svndumpfilter include Projects/projectB Projects/projectD Projects/projectE > filtereddump.dmp
你必须拥有,理解和使用" Ultima ratio regum":Svndumpsanitizer
答案 1 :(得分:2)
请记住,自2010年6月以来我没有使用Subversion(当我写that answer时),但是从内存中,以下内容将为您提供allProj
的{{1}}的克隆副本{ {1}}。
必须在托管Subversion存储库的服务器上执行以下步骤。
它假定在托管Subversion存储库的计算机上,存储库存在于X:\ Repositories中,而Subversion服务器的URL为http://localhost:8080,并且该存储库位于工作文件夹中。
第1步
reqProj
svnadmin create X:\Repositories\reqProj
svnadmin dump X:\Repositories\allProj > allProj.dmp
svnadmin load X:\Repositories\reqProj < allproj.dmp
我会使用svn checkout http://localhost:8080/svn/reqProj reqProj
中提供的Repository Browser
来执行以下步骤。
第2步
接下来,删除不需要的项目文件夹,例如TortoiseSVN
和projectA
。最后,您可以将projectC
,projectB
和projectD
移到顶层,也可以删除projectE
文件夹。
你最终会得到一些无关的历史(描述删除和文件夹移动),但是这没关系,我想? :)
我希望这可以帮助你。