最近因为要换服务器,所有的数据都需要迁移,当然了,SVN服务器也是需要备份的,本文就结合最近经历,做个SVN数据迁移的总结。
一 首先需要找到SVN服务器的数据仓库目录,我本地的仓库目录设置到了D盘,如下:
然后,我们需要导出格式为dump的文件,运行(win + r),输入cmd,然后输入:svnadmin dump D:\Repositories\EvaluationSystem >D:\test\reposTest.dump:
输入之后回车,然后等待数秒钟,备份成功,我们进入相应目录查看结果:
备份成功 。
现在,我们只需要将我们的备份文件放到需要还原的服务器上,然后在服务器中进行还原。
首先,需要在服务器上手动创建相应的数据仓库目录,或者在输入以下命令:
svnadmincreate D:/repositories/RepositoriesTest
运行(win + r),输入cmd,然后在控制台中输入以下命令:
svnadmin loadD:\Repositories\RepositoriesTest < D:\test\reposTest.dump:
执行结束,结果如下:
还原成功。
二
重新定位svn地址的方法(windows和linux)
查询原地址的方法:
- root@jack-desktop:codes# svn info
- 路径: .
- URL: http://192.168.1.58/repos
- 版本库根: http://192.168.1.58/repos/linux_monitor
- 版本库 UUID: 81fe7417-a8b1-40d6-90b8-661973047dc1
- 版本: 80
- 节点种类: 目录
- 调度: 正常
- 最后修改的作者: chenjiankang
- 最后修改的版本: 80
- 最后修改的时间: 2013-07-10 18:30:13 +0800 (三, 2013-07-10)
- root@jack-desktop:codes#
更新为192.168.1.13的方法:
linux下:
- [email protected]:codes# svn switch --relocate http://192.168.1.58/repos http://192.168.1.13/repos
svn switch(sw)的帮助信息
- [email protected]:codes# svn switch --help
- switch (sw): 更新工作副本至不同的 URL。
- 用法: 1、switch URL[@PEGREV] [PATH]
- 2、switch --relocate FROM TO [PATH...]
- 1、更新工作副本,切换到同一版本库中的新 URL。其行为跟 “svn update” 很像,
- 也是将工作副本切换到同一版本库中某个分支或者标签的方法。PEGREV 决定从,
- 哪个版本查找目标。
- 如果使用了 “--force” 选项,在工作副本中未版本控制的障碍路径,不会自动
- 导致失败。如果障碍路径与版本库中的对应路径类型相同(文件或目录),它将成
- 为受版本控制的路径,但是内容不改变。它意味着障碍路径的子孙,如果也是障
- 碍路径,那么也会受版本控制。对于障碍路径中的文件,如果与版本库内的不同,
- 将视为工作副本发生本地修改。版本库中的所有属性都应用于障碍路径。
- 使用 “--set-depth” 选项设置此操作目标的工作副本之新深度。目前工作副本的
- 深度只能增加(嵌入更深);你不能让目录收缩。
- 2、重写工作副本的 URL 元数据,以反映单纯的 URL 改变。当版本库的根 URL 改
- 变(比如方案或者主机名称变动),但是工作副本仍旧对应同一版本库的同一目录
- 时,使用这个命令更新工作副本与档案库的对应关系。
- 参见 “svn help update” 以获取报告执行动作的字符列表。
- 有效选项:
- -r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)
- 版本参数可以是如下之一:
- NUMBER 版本号
- '{' DATE '}' 在指定时间以后的版本
- 'HEAD' 版本库中的最新版本
- 'BASE' 工作副本的基线版本
- 'COMMITTED' 最后提交或基线之前
- 'PREV' COMMITTED的前一版本
- -N [--non-recursive] : 过时;尝试 --depth=files 或 --depth=immediates
- --depth ARG : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
- --set-depth ARG : 设置工作副本的新深度为 ARG(“exclude”,“empty”,“files”,“immediates”,
- 或“infinity”)
- -q [--quiet] : 不打印信息,或只打印概要信息
- --diff3-cmd ARG : 使用 ARG 作为合并命令
- --relocate : 通过URL改写重新定位
- --ignore-externals : 忽略外部项目
- --force : 强制操作运行
- --accept ARG : 指定自动解决冲突动作
- ('postpone', 'base', 'mine-conflict',
- 'theirs-conflict', 'mine-full', 'theirs-full',
- 'edit', 'launch')
- 全局选项:
- --username ARG : 指定用户名称 ARG
- --password ARG : 指定密码 ARG
- --no-auth-cache : 不要缓存用户认证令牌
- --non-interactive : 不要交互提示
- --trust-server-cert : 不提示的接受未知的 SSL 服务器证书(只用于选项 “--non-interactive”)
- --config-dir ARG : 从目录 ARG 读取用户配置文件
- --config-option ARG : 以下属格式设置用户配置选项:
- FILE:SECTION:OPTION=[VALUE]
- 例如:
- servers:global:http-library=serf
- [email protected]:codes#
windows下的TortoiseSVN更新地址:
三 eclipse中svn重定位的修改
步骤有3 :
1 ) 打开eclipse中SVN资源库
在Eclipse中选择Windows-> Show View->others
如果列表里面没有就去 other... 里面找
下图是打开后的SVN资源库:
2 ) 右键点击 需要重定向的svn地址 右键点击 --> 左键点击 "重新定位"
3) 一路next.....
出现了如下方所示的界面后 在页面修改地址:
最后点击finish即可