我将首先说svndumpfilter失败(使用此解决方案:Moving SVN repositories data with history as subfolders into another repository)我收到错误:
At line:1 char:30
+ svndumpfilter include \trunk < E:\tmp\test1.dump > E:\tmp\test1filter.dump
+ ~
The '<' operator is reserved for future use.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RedirectionNotSupported
执行后:
svndumpfilter include \trunk < E:\tmp\test1.dump > E:\tmp\test1filter.dump
我的问题:我有几个项目作为单独的存储库:
RootDir -
project1
project2
project3
project4
project5
project6
其中3个项目是针对同一家公司的,所以我想像这样移动它们:
RootDir -
project1
project2
companyX -
project3
project5
project6
project4
即。我想将多个存储库移动到一个主存储库中作为子文件夹驻留。
存储库位于Windows Server 2012中,我使用远程桌面在其上运行svn命令提示符。
我没有想法
答案 0 :(得分:1)
svnadmin dump path_to_RootDir\project3 > temp_path_in_disk\dump_file.dmp
将转储整个存储库,您必须从中将project(3|5|6)
svndumpfilter include
解压缩到一个公共转储中。但是您可以使用svnrdump dump URL
在一个命令中转储子树,并获得3个没有预过滤的文件
svnadmin load
命令 svnadmin load path_to_RootDir < temp_path_in_disk\dump_file.dmp
--parent-dir
选项 svnadmin load --parent-dir companyX path_to_RootDir < temp_path_in_disk\dump_file.dmp
答案 1 :(得分:0)
看起来您正在同一个存储库中移动项目,而不是在不同的存储库之间移动。如果是这种情况,那么我认为您只想使用两个URL参数使用svn mv
命令。例如。 svn mv --parents http://example.com/RootDir/project3 http://example.com/RootDir/companyX/project3 -m "consolidate company X projects"
。 &#34; - 父母&#34;如果中间目录不存在,则选项会创建。
答案 2 :(得分:0)
我遇到的问题是Windows Server 2012的Windows PowerShell。
我下载了Console 2并使用它而不是Windows shell。
&#34; Moving SVN repositories data with history as subfolders into another repository&#34;做了伎俩。
根据我的需要,我甚至不需要svndumpfilter部分。