解决svn迁移过程中出现:SVN Error: is not the same repository as的问题
微wx笑 2019-09-28【项目构建】 12 0关键字: SVN 迁移 Repository
由于SVN服务器IP变化,所以项目需要迁移,但Relocate的过程中出了问题:SVN Error: xxx is not the same repository as xxx,只不过是IP变了,居然出现这样的错误。网上看到资料是安装Tortoise 客户端,使用其Relocate功能进行解决。但我又不想安装Tortoise 客户端,那么有没有其它的办法呢?
由于SVN服务器IP变化,所以项目需要迁移,但Relocate的过程中出了问题:SVN Error: xxx is not the same repository as xxx,只不过是IP变了,居然出现这样的错误。其中一个项目是IP发生变化之后又进行了操作,添加了一些文件,出现问题也能理解;但是什么都没有动的项目也出现这样的问题。
问题现场
我的是Mac系统,迁移过程Relocate是通过Eclipse完成的
控制台输出如下:
switch svn://192.168.0.168/allProject/createJava /Users/aven/Documents/createJava -r HEAD --force Invalid switch svn: 'svn://192.168.1.168/allProject/createJava' is not the same repository as 'svn://192.168.0.168/allProject'
软解方案
网上看到资料是安装Tortoise 客户端,使用其Relocate功能进行解决。
但我又不想安装Tortoise 客户端,那么有没有其它的办法呢?
硬核方案
我恍惚恍惚的记得在Windows下,项目下有个svn的配置文件中记录了svn服务器的ip地址,也就是版本库的地址;
于是在Mac下,我想也应该有这么一个文件的存在,于是,被我找到了。
具体步骤:
1、Eclipse中项目属性,打开项目所在目录,需要显示隐藏文件,找到“.svn”目录
2、打开终端,切换到“.svn”目录
这个是不是有点麻烦?
这样做,终端中输入“cd ”,然后把“.svn”目录拖进来,回车。
3、编辑“wc.db”文件,我这里使用“vi”命令,你随意
sudo vi wc.db
vi中查找
命令状态下(怎么进入命令状态?按键盘左上角的 ESC 键)
:/要查找的内容,注意特殊符号要加\转义 例如: :/192.168.1
vi中查找替换
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky 例如: :%s/192.168.1.168/192.168.0.168/g
把原来的IP替换为新的ip,保存文件,Eclipse中刷新项目,你已经切换到新服务器了。
这一波操作6不6?要不要点个赞?
注意:看图片中文件的开头写着什么?SQLite format 3,这是标准的 SQLite 数据库,如果你有 SQLite 数据库的管理工具,直接用工具打开修改也是可以的。但是,通过命令行更简单粗暴快速一些。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/build/2019-09-28/235.html