聊聊如何从SVN迁移源码到Git仓库

背景介绍

这里就不再赘述关于SVN与Git的区别以及为什么要迁移源码到Git了,毕竟Git是当前的主流DVCS了,而且已经公认地非常好用,如果你还在使用SVN的话该考虑换了,是时候迁移那些遗留代码了,有兴趣可以参阅 Why Git 和 Perforce to Git 了解更多。

通常来说,在项目开发过程中,难免会遇到一些老项目代码正被SVN管理着,但基于当下诸多原因,或是扩展开发,或是战略转移,或是为了更好地开发体验,需要将这些在维护的遗留项目源码迁移为Git管理。

那如何有效地迁移源码?并且如何保留提交记录、分支记录以及开发成员等信息呢?笔者前一段时间就经历了这样的迁移工作,还是有必要分享一下,也算是一种总结了。

继续阅读聊聊如何从SVN迁移源码到Git仓库

WDMyCloud中使用Subversion Server不支持中文路径问题的解决

WDMyCloud中使用Subversion Server的时候,发现工程名字为中文的情况下,无法下载代码,此时Subversion客户端报告:

解决方法是在启动Subversion Server之前指定语言为中文,如下:

其他的的参考如下链接:
WD MyCloud中设置服务在开机时候自动启动

WDMyCloud配置Apache访问Subversion

1.确保WDMyCloud是最新的版本,应该是WDMyCloud v04.04.01-112以后,并且确保Apache2的版本号是2.4.9版本。

2.安装Subversion Server

3.配置并启用Apache dav_svn模块

在文件的尾部增加如下内容:

4.创建Subversion用户

5.重启 Apache2

6.网络访问“http://wd-mycloud/svn”。
7.检出项目 “svn co http://wd-mycloud/svn/project project

svnrdump dump 实现 SVN 库的远程导出

svnrdump dump 命令必须 在 SVN 1.7版本以上提供的用于远程dump SVN库的命令.

以导出libyuv的svn库为例:

可以在这里下载已经DUMP完成之后的版本。目前的版本号是1444。

恢复DUMP文件到Subversion工程,请参考 Could not open the requested SVN filesystem

TortoiseSVN客户端重新设置用户名和密码

在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了。
不过,如果后来在服务器端修改了用户名密码,则再次检出时就会出错,而且这个客户端很弱智,出错之后不会自动跳出用户名密码输入框让人更新,我找了半天也没找到修改这个用户名密码的地方。
最终,找到两种解决办法:
办法一:在TortoiseSVN的设置对话框中,选择“已保存数据”,在“认证数据”那一行点击“清除”按钮,清楚保存的认证数据,再检出的时候就会重新跳出用户名密码输入框。2012032209211811
如果方法一不起作用,则可以采用方法二:
Tortoise的用户名密码等认证信息都是缓存在客户端文件系统的这个目录:

删除auth下面的所有文件夹,重新连接远程服务器进行检出,对话框就会出现!

参考链接 TortoiseSVN客户端重新设置用户名和密码

Could not open the requested SVN filesystem

屡次重装系统之后,SVN终于出错了,浏览某些版本库的时候报告

搜索了半天,找到解决方法

将原来的Repository导出为一个文件dumpfile

将dumpfile导入到新的Repository

 导入备份库到某一个库的某一个文件夹下。

1,在已存在库repos1下,新建文件夹trunk。

2,在在Shell里输入

(将备份文件EduAssistant.dump导入到repos1下的trunk文件夹下。)