分类: LINUX
2011-10-21 09:51:49
D:\02_study\06_subversion\svndemo>svnadmin dump D:\02_study\06_subversion\svndemo\SVNRepo2>SVNRepo2_dumpfile0609
* 已转存版本 0。
* 已转存版本 1。
。。。。。。
* 已转存版本 103。
D:\02_study\06_subversion\svndemo>
************************************************
只想恢复:
D:\02_study\06_subversion\svndemo>svndumpfilter include /branches/my-calc-branch1/< SVNRepo2_dumpfile0609 >SVNRepo2_dumpfile0609_my-calc-branch1
包含的前缀:
'/branches/my-calc-branch1'
版本 0 提交为 0。
版本 1 提交为 1。
。。。。。。
版本 76 提交为 76。
svndumpfilter: 复制源路径“/trunk”无效
D:\02_study\06_subversion\svndemo>
************************************************
include加上trunk
D:\02_study\06_subversion\svndemo>svndumpfilter include trunk/ branches/my-calc-branch1/ < SVNRepo2_dumpfile0609 >SVNRepo2_dumpfile0609_my-calc-branch1
包含的前缀:
'/trunk'
'/branches/my-calc-branch1'
版本 0 提交为 0。
版本 1 提交为 1
。。。。。。
版本 99 提交为 99。
svndumpfilter: 复制源路径“/branches/br1/test_d1”无效
D:\02_study\06_subversion\svndemo>
************************************************
include中再加上/test_d1
D:\02_study\06_subversion\svndemo>svndumpfilter include /trunk/ /branches/my-calc-branch1/ /branches/br1/test_d1
包含的前缀:
'/trunk'
'/branches/my-calc-branch1'
'/branches/br1/test_d1'
版本 0 提交为 0。
版本 1 提交为 1。
。。。。。。
版本 103 提交为 103。
丢弃 87 节点:
'/bin'
'/branches'
'/branches/br1'
。。。。。。
'/tags/tag_REL2/test_d1'
D:\02_study\06_subversion\svndemo>
************************************************
创建新的库
D:\02_study\06_subversion\svndemo\SVNRepo2_my-calc-branch1
************************************************
尝试直接load
D:\02_study\06_subversion\svndemo>svnadmin load SVNRepo2_my-calc-branch1 <SVNRepo2_dumpfile0609_my-calc-branch1
svnadmin: 期望文件系统格式在“1”到“3”之间;发现格式“4”
***************
在工作空间中checkout也提示:
Command: Checkout from svn://localhost, revision HEAD, Fully recursive, Externals included
Error: 期望文件系统格式在“1”到“3”之间;发现格式“4”
Finished!:
***************
网上搜索得,是因为这新库SVNRepo2_my-calc-branch1是用turtoiseSVN的create repository here创建的导致的问题
解决办法:删除SVNRepo2_my-calc-branch1,重新创建目录后用命令创建新库:
D:\02_study\06_subversion\svndemo\SVNRepo2_my-calc-branch1>svnadmin create .
再执行命令:
D:\02_study\06_subversion\svndemo>svnadmin load SVNRepo2_my-calc-branch1
------- 提交后版本 76 >>>
<<< 开始新的事务,基于原始版本 77
* 正在增加路径: branches/my-calc-branch1 ...svnadmin: File not found: trans
action '76-24', path 'branches/my-calc-branch1'
***************
创建了目录branches/my-calc-branch1后重新执行
D:\02_study\06_subversion\svndemo>svnadmin load SVNRepo2_my-calc-branch1
------- 提交新版本 79 (从原始版本 1 装载) >>>
。。。。。。
<<< 开始新的事务,基于原始版本 7
------- 提交新版本 85 (从原始版本 7 装载) >>>
<<< 开始新的事务,基于原始版本 8
* 正在增加路径: trunk ...svnadmin: File already exists: filesystem 'SVNRepo
2_my-calc-branch1/db', transaction '85-2e', path 'trunk'
***************
删除了trunk后再执行:
D:\02_study\06_subversion\svndemo>svnadmin load SVNRepo2_my-calc-branch1
* 正在增加路径: branches/br1/test_d1 ...svnadmin: File not found: transaction '175-4x', path 'branches/br1/test_d1'
***************
按原库目录在新库中创建所有的目录结构(无次序)
原库目录为:
├─branches
│ ├─br1
│ │ ├─javaProj1
│ │ │ └─src
│ │ │ └─echo
│ │ └─test_d1
│ ├─br2
│ ├─br3
│ │ ├─javaProj1
│ │ │ └─src
│ │ │ └─echo
│ │ └─test_d1
│ ├─br_20090803
│ │ └─javaProj1
。。。。。。(省略N个分支)
删除了trunk后再执行,创建了该结构br3(包含br3)以上的目录,执行时又提示:
。。。。。。
<<< 开始新的事务,基于原始版本 90
* 正在增加路径: branches/br1/test_d1 ...svnadmin: File already exists: filesystem 'SVNRepo2_my-calc-branch1/db', transaction '283-7z', path'branches/br1/test_d1'
***************
删除了trunk、test_d1后再执行
。。。。。。
<<< 开始新的事务,基于原始版本 103
------- 提交新版本 395 (从原始版本 103 装载) >>>
成功!
************************************************
总结:
1、svnadmin dump D:\02_study\06_subversion\svndemo\SVNRepo2 >SVNRepo2_dumpfile0609
2、svndumpfilter include /trunk/ /branches/my-calc-branch1/ /branches/br1/test_d1
注意:这里include的内容要根据提示缺啥加啥
3、创建新的库
注意:这里要用命令“svnadmin create 库路径”创建,用turtoiseSVN的"create repository here"会报错
4、svnadmin load SVNRepo2_my-calc-branch1