SVN仓库导入文件
分两种:
1.导入文件版本库从0开始 (适合新项目)
2.将其他SVN服务器中的版本库导入进来,版本库继承原SVN服务器的(适合SVN版本库迁移)
第一种:
#mkdir –p /home/code/{trunk,tags,branches}
源代码路径:/home/code/trunk/oil
#svn import /home/code/ file:///opt/svn/oil -m “first import”
检查是否导入成功
#svn list --verbose file:///opt/svn/oil
第二种:SVN服务器从Windows迁移到Linux
一、备份VisualSVN项目
1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 找到VisualSVN仓库路径,一般是Repositories目录。
2. 现在svn中有一个项目lehuo,需要将lehuo这个项目导出到linux环境下。运行cmd,输入命令 svnadmin dump F:\Repositories\lehuo > F:\lehuo.dump 将项目导出到F目录下。
3. 命令会导出每个版本的详细信息,保证了之前的历史信息不会丢失。现在我们便得出备份文件lehuo.dump
4. 利用批处理实现项目的批量导出,编写svnbak.bat, 双击运行,会一次性导出所有项目,
二、上传备份文件到Linux
1. 利用ftp, ssh等工具将lehuo.dump文件传输到Linux服务器上,文件上传成功后的文件的路径为/usr/local/src/lehuo.dump。
三、Linux下SVN的安装与配置
详见《CentOS 7.2 x64 配置SVN服务器》
四、导入备份文件
1. 输入命令:svnadmin load /opt/svn/lehuo < /usr/local/src/lehuo.dump
2. 为了避免逐个导入项目,所以写了一个shell脚本,进行批量导入,遍历备份目录下所有*.dump文件,并产生相应的导入命令,15个项目,花了10分钟左右完成导入,脚本如下:
3.重启svn服务
#killalll svnserve
#systemctl start svnserve.service
五、客户端进行代码的检出
1.windows端安装TortoiseSVN, 右键svn checkout
2. 在打开的对话框中,输入svn库的地址,确定便可以同步项目。地址为ip地址加项目名称,账号密码使用Linux环境下的SVN配置的账号密码。svn://ip/lehuo
3. svn提示检出成功,在目录下可以找到检出的项目。
4. 对于以前的项目,重定向到新的svn服务器,右键->TortoiseSVN->Relocate,在弹出的对话框中填写新的地址,TortoiseSVN会提示修改成功,之后,就可以使用新的svn了。重新定位
5. 如果你是使用eclipse中的subeclipse的插件,首先打开svn资源库视图,然后选择你的项目,右键选择重定向,填入新的svn地址。
6. linux下若使用svn命令的话,形式如下:
svn switch --relocate (Old Repository Root) (New Repository Root)