欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

linux dump备份svn,svnadmin dump+load库中的某个目录用svndumpfilter 可实现

发布时间:2023/12/31 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 linux dump备份svn,svnadmin dump+load库中的某个目录用svndumpfilter 可实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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 SVNRepo2_dumpfile0609_my-calc-branch1

包含的前缀:

'/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

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 。。。。。。------- 提交后版本 1开始+1递增

------- 提交后版本 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 <<< 开始新的事务,基于原始版本 1

------- 提交新版本 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 <<< 开始新的事务,基于原始版本 90

* 正在增加路径: 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 SVNRepo2_dumpfile0609_my-calc-branch1

注意:这里include的内容要根据提示缺啥加啥

3、创建新的库

注意:这里要用命令“svnadmin create 库路径”创建,用turtoiseSVN的"create repository here"会报错

4、svnadmin load SVNRepo2_my-calc-branch1 注意:这里必须根据提示增删目录

总结

以上是生活随笔为你收集整理的linux dump备份svn,svnadmin dump+load库中的某个目录用svndumpfilter 可实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。