svn无痛迁移git实战

svn无痛迁移git实战

1.需求

适用于希望把版本控制迁移到git上,但由于各种不可抗力无法完全舍弃svn的用户. 在不变动原有svn部署,集成,相关脚本的情况下,无痛迁移git.

2.所需依赖

在与git的交互上使用了expect,同时也需要git&svn客户端

3.实现思路

1.使用命令导出svn项目到git.

2.使用gitlab钩子实现根据push事件钩子自动发送http请求,同步代码到svn.
所以我们需要使git的master分支与svn的主分支保持一致,所以使用项目的.svn无痛迁移git实战gitlab 10.6 版本以后为了安全,不允许向本地网络发送webhook请求,如果想向本地网络发送webhook请求,则需要使用管理员帐号登录. 在settings标签中找到OutBound Request,勾选上Allow requests to the local network from hooks and services,保存更改即可解决问题.

3.搭建http服务器接收钩子请求.
由于笔者的技术栈中java为第一语言,推荐通过SpringBoot快速构建一个稳定的web服务.

4.同步git修改到svn

4.总结

1.主要使用的特性为,git svn命令,该命令可以操作svn并将项目同时并入git&svn控制.
2.使用了gitlabURL钩子来实现实时同步推送.如果不使用gitlab,可能需要自己实现一个触发器才行.

0

发表评论

邮箱地址不会被公开。