1. 问题描述

我在本地建了一个仓库A,我的代码都是上传到这个仓库A的,但现在想把代码提交到仓库B中,并且需要把所有的提交日志同样迁移过去。

适用于自己在本地利用SVN进行程序的版本控制的情况,如果说程序是提交到远程服务器的情况,不知道下述方法是否通用,需要触类旁通。下列语句叙述可能不是很准确,比如说一些术语,如果你哪里不清楚,欢迎邮件沟通:li_shengxi@163.com

2. 涉及到的步骤

(1)代码重定向

也就是更改提交的目标仓库,以后你再提交代码,是提交到仓库B,而不是旧的仓库A。

(2)提交日志迁移

你代码重定向后,是看不到你之间的提交日志的,所以需要从旧的仓库A中把提交日志给迁移到新的仓库B。

3.代码重定向

需要用到SVN的relocate功能,右键工作文件夹,relocate。 

可能会报错,说uuid不同。如何修改uuid,网上教程很多,检索词,“SVN relocate uuid 不同”,就有。建议修改本地工作文件的uuid,而不是仓库的,别人教程中也是这样写的。

uuid 修改完毕后,再relocate就行。

4. 提交日志迁移

打开旧仓库A的文件夹,在路径的地方改为cmd,回车

 然后输入下面第一行代码,这一步是备份或者称为导出操作,backup230704.dum 是备份文件名,你随便取都可以。

svnadmin dump 【旧仓库A的路径】 > 【备份的路径】\backup230704.dum

 然后打开新仓库B的文件夹,同样,在路径的地方改为cmd,回车,在命令行窗口输入下列代码,把你备份出来的数据加载到新的仓库B中。

svnadmin load 【新仓库B的路径】 < 【备份的路径】\dxdBackup20220319.dum

上述操作学习于: 【SVN迁移】SVN迁移服务器代码,包含全部提交日志_svn如何将一个项目复制到另外一个目录,包括这个项目的提交记录_肉段_Dxd的博客-CSDN博客https://blog.csdn.net/dxd5862/article/details/123604715 

更多推荐