SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 23456|回复: 29

[原创] 版本库迁移(合并)的实现

[复制链接]
发表于 2009-11-26 10:37:55 | 显示全部楼层 |阅读模式
       版本库迁移(合并):指的是将两个独立的、有各自版本信息的版本库合并为一个版本库,并保留被合并的两个库的版本信息。
$ f, C/ q& @# `7 x0 P8 V       环境:windows+SVN+apache
$ W% K1 ~$ a$ [
       我的版本库路径:c:\svn_repository(安装时的默认路径) 2 f6 J/ D" [) a8 B% c2 N* F0 e* i* F
       操作步骤:7 Z- S0 q2 V; P& M4 D  w
       1、在c:\svn_repository下新建两个版本库:test1和test2,在test1中进行两次提交,增加文件夹a、b和文件c.txt,产生两条版本信息,这里记为test1(1,2);在test2中进行五次提交,增加文件夹aa、bb、cc、dd和文件ee.txt,产生五条版本信息,记为test2(1,2,3,4,5);
, @3 B; Y! R  W) Z& x+ E* E4 x5 u2 G      现在要做的是把版本库test1根目录下的所有内容(a、b、c.txt)迁移到版本库test2的目录aa下;7 c3 U; m3 L; s+ I
; w# Z. W* W) X2 q
       2、运行cmd打开命令解释程序,首先输入命令:. [1 }9 A3 V7 K0 R; l
       svnadmin dump c:\svn_repository\test1 > dumpfile   ,此命令是将版本库test1的所有内容转储为名叫dumpfile的文件,当然,这个文件名可以随便;
9 r" t2 _8 U1 f& {- M- b7 O% Y& q ! d4 l$ L$ w( i' v
       3、然后输入命令:) e* ^: o; K2 ]1 T
       svnadmin load c:\svn_repository\test2 --parent-dir aa < dumpfile  ,此命令是将test1的转储文件dumpfile读入版本库test2的aa目录下,参数“--parent-dir”是为了指定test2下的具体路径,方法就是在“--parent-dir”后键入具体路径,这里的测试选择了一级目录aa;7 ?& e+ r9 }8 y: m9 s/ D2 ]2 |8 s
8 a" B9 g; C4 k5 f% Y
       4、执行3中的命令并成功后,更新版本库test2,你会发现aa下面多了a、b、c.txt ,查看test2的log,会发现原版本库test2的版本信息没有变化,还是test2(1,2,3,4,5),新增了版本信息7、8,对应的就是原test1的版本信息test1(1,2),但除了Revision号由原来的1、2变为7、8外,其它没有变化。
2 p6 T/ K1 Q( D* S) b5 o
7 r, L' I! W8 @3 E3 y9 h       如果你想把迁入的版本库test1里的内容再细致的分到test2的不同目录下,干脆直接用命令 svnadmin load c:\svn_repository\test2 < dumpfile  把test1的内容迁移到test2的根目录下,然后再用TortoiseSVN的版本库浏览器做细致调整,反正版本信息都已经合并在一起了,后面的操作都是在一个版本库下,无碍无碍。: z( ?* R, _5 u0 v0 b, o/ W
       当然,在转储一个版本库的时候也可以选择性的转储,具体参数可以查看SVN手册,这里不再一一细表。: l/ G9 \8 V1 q
       感谢洪山道友给予的支持

评分

参与人数 1威望 +1 金钱 +5 收起 理由
千寻 + 1 + 5 很实用的帖子,谢谢分享

查看全部评分

本帖被以下淘专辑推荐:

  • · SVN|主题: 9, 订阅: 1
发表于 2009-11-26 10:41:32 | 显示全部楼层
必须顶起!谢谢楼主的分享!收藏了!
回复 支持 反对

使用道具 举报

发表于 2009-11-27 10:22:01 | 显示全部楼层
  楼主的分享,可设为精华贴,顶起来供参考学习!
回复 支持 反对

使用道具 举报

发表于 2009-12-4 15:33:57 | 显示全部楼层
现在能这么实现合并了,我out了。。
回复 支持 反对

使用道具 举报

发表于 2009-12-9 10:42:01 | 显示全部楼层
我已经收藏了
回复 支持 反对

使用道具 举报

发表于 2009-12-15 15:06:19 | 显示全部楼层
8错  最近正有需要 学习了  谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2009-12-18 10:24:30 | 显示全部楼层
原帖由 不而唯一 于 2009-11-26 10:37 发表
0 D: E# D3 W* F+ f- e4 B$ B       版本库迁移(合并):指的是将两个独立的、有各自版本信息的版本库合并为一个版本库,并保留被合并的两个库的版本信息。
: f1 r: b: x. F6 R$ U5 m+ a       环境:windows+SVN+apache . E7 Y1 j  Q7 Y& S- J+ N
       我的版本库路径:c:\svn_repository(安装 ...
- w' |% H2 A, C) B0 A( _& Y6 ^9 c
感谢楼主!我参考了!  g; B' y4 A+ I3 e* @, a, j& x# r
我遇到一个问题,我使用Subversion 1.4.3的svnadmin来dump/load,发现13个库里有7个是迁移成功的,有6个库是迁移失败的
, ^7 [' x% C5 C& ?/ g" l& d报错如:
" {" ~9 s6 D# K) _' I( a* SFile not found: transaction '207-1', path 'FinanceWebReport/Wesley/鏄庡畯妾旀?/Schema/ACC_Expend_Form.txt'
. }2 I" V7 O/ [' d7 a! q6 j9 Y0 J/ u! }
subversion/libsvn_fs_fs/tree.c:309: (apr_err=160013)
1 H, ~4 q$ k3 C  t. Q/ C2 h4 Wsvnadmin: File not found: transaction '298-1', path 'Scorpion/Database/old_module/Kernel/Kernel/Kernel.h'& P( h6 u' n8 m# H  T
! T. Y: i& j1 R
subversion/libsvn_fs_fs/tree.c:309: (apr_err=160013)+ Q9 S) x9 Y' u, f4 `# P
svnadmin: File not found: transaction '136-1', path 'offline/Wildcat DSP/development/WildcatDSP/Src/Alarms.h'/ \) ]- L+ H  s; ^8 q3 U' x' g
  C. q7 ]2 L9 r+ n9 O
subversion/libsvn_fs_fs/tree.c:309: (apr_err=160013)! g' S! B; o4 w- ~2 k' q
svnadmin: File not found: transaction '3166-1', path '2008oldcvs/03_MaintainPrj/03_Public/01_ECN/ECN(BA0052007)/ECN瀛樻。/鎴愯揪/00127-04'
0 N5 R& T. d& y+ ~; }* G     * adding path : 2008oldcvs/03_MaintainPrj/03_Public/01_ECN/ECN(BA0052007)/ECN瀛樻。/鎴愯揪/00127-04
1 R1 O) w% @! C- O1 l$ }4 e/ C. \) I4 M5 e8 |
subversion/libsvn_fs_fs/tree.c:309: (apr_err=160013)8 U/ Z  u* U! }9 j! [" e. S3 T/ I
svnadmin: File not found: transaction '505-1', path '03_Layout/LAYOUT/back-up/LAYOUT鐩稿叧璧勬枡/PCAD璧勬枡搴?AI璧勬枡/浼樺寲绋嬪簭/鏂囦欢杞?崲鎿嶄綔璇存槑锛圓VB TO AVK锛?doc'
- d9 Q9 d8 j- T4 ~4 _! Z: t     * adding path : 03_Layout/LAYOUT/back-up/LAYOUT鐩稿叧璧勬枡/PCAD璧勬枡搴?AI璧勬枡/浼樺寲绋嬪簭/鏂囦欢杞?崲鎿嶄綔璇存槑锛圓VB TO AVK锛?doc  ?, Z6 S- F( o' n: Z
$ V4 g( n! I3 X7 D6 _+ O
subversion/libsvn_fs_fs/tree.c:309: (apr_err=160013)7 {% z$ X" P5 q$ l8 X3 K0 e
svnadmin: File not found: transaction '31-1', path '01_WorkSpace/05_Control_Tech/99_dimission/longyw/涓夌浉涓夌嚎鏁存祦/zfg/涓夌浉PWM鏁存祦/鏂囩尞/DC Link Harmonics of Three Phase Voltage Source Converters Influenced by.pdf'
/ o! W2 Z* Y2 r* d5 X     * adding path : 01_WorkSpace/05_Control_Tech/99_dimission/longyw/涓夌浉涓夌嚎鏁存祦/zfg/涓夌浉PWM鏁存祦/鏂囩尞/DC Link Harmonics of Three Phase Voltage Source Converters Influenced by.pdf2 b3 l8 m% u0 _

# P1 O4 X) b" n) x+ N# G* q5 a" P# H) e5 u. \
然后,我在另一台服务器上安装Subversion 1.6.6
) q8 {1 O- z7 ~) d$ w' a1 R在旧的服务器上用hotcopy复制13个库,打包后下载到新的服务器  f5 i1 p) V+ B4 T; ]) N
在新的服务器里,解压后,用1.6.6的svnadmin来dump和load,13个库都都迁移成功了
回复 支持 反对

使用道具 举报

发表于 2009-12-18 16:34:30 | 显示全部楼层
这样有实际总结的贴,必须顶起来,感谢楼主的分享。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-23 11:53:52 | 显示全部楼层

回复 7# 的帖子

你解决了问题我就不回复了啊,那个报错信息没有时间来研究,呵呵
回复 支持 反对

使用道具 举报

发表于 2009-12-24 10:36:41 | 显示全部楼层
很实用的帖子,顶
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2018-10-19 15:59 , Processed in 0.071868 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表