为了
吉特实验室
我在这里介绍了如何从SVN迁移的用户:
https://gist.github.com/leftclickben/322b7a3042cbe97ed2af
从SVN迁移到Gitlab的步骤
安装程序
-
SVN托管在
svn.domain.com.au
.
-
SVN可通过
http
(其他协议应该有效)。
-
Gitlab托管于
git.domain.com.au
还有:
-
使用命名空间创建组
dev-team
.
-
至少创建了一个用户帐户,将其添加到组中,并具有用于迁移的帐户的ssh密钥(使用
ssh git@git.domain.com.au
)
-
项目
favourite-project
创建于
新鲜的
命名空间。
-
文件
users.txt
包含表单的相关用户详细信息,每行一个用户
username = First Last <address@domain.com.au>
在哪里
username
是SVN日志中给定的用户名。(有关详细信息,请参阅参考资料部分的第一个链接,尤其是用户凯西的回答)。
版本
-
Subversion版本1.6.17(R1128011)
-
Git版本1.9.1
-
Gitlab版本7.2.1 ff1633f
-
Ubuntu服务器14.04
命令
bash
git svn clone --stdlayout --no-metadata -A users.txt
http://svn.domain.com.au/svn/repository/favourite-project
cd favourite-project
git remote add gitlab git@git.domain.com.au:dev-team/favourite-project.git
git push --set-upstream gitlab master
就是这样!在GitlabWebUI中重新加载项目页面,您将看到所有提交和文件现在都已列出。
笔记
-
如果有未知用户,则
git svn clone
命令将停止,在这种情况下,更新
用户交换机
,
cd favourite-project
和
git svn fetch
将从停止的位置继续。
-
标准
trunk
-
tags
-
branches
SVN存储库的布局是必需的。
-
提供给
GIT-SVN克隆
命令在紧接着上方的级别停止
trunk/
,
tags/
和
branches/
.
-
这个
GIT-SVN克隆
命令产生大量输出,包括顶部的一些警告;我忽略了这些警告。