如何将 svn 仓库迁移到 gitlab 仓库

How to migrate an svn repo to a gitlab repo

关于这个:https://docs.gitlab.com/ce/user/project/import/svn.html

具体来说:

The first step to mirror you SVN repository in GitLab is to create a new empty project which will be used as a mirror. For Omnibus installations the path to the repository will be located at /var/opt/gitlab/git-data/repositories/USER/REPO.git by default. For installations from source, the default repository directory will be /home/git/repositories/USER/REPO.git. For convenience, assign this path to a variable:

那个 REPO.git 文件是什么?它从哪里来的?我应该在我们的 gitlab 服务器本身上执行此操作还是可以在本地计算机上执行此操作?

之前说要将 subgit 放在 /opt 中,但这个文件在 /var/opt/ 中?无论哪种方式,subgit 存档中都没有这样的路径...

REPO.git 不是文件,它在这里代表存储库名称。它来自 GitLab 本身:当您在 GitLab UI 中创建项目时,它会在上述路径上创建项目目录。顺便说一句,这里的 USER 代表 GitLab 用户名;因此,例如,当您以 'admin' 登录 GitLab 并创建一个名为 'project' 的项目时,相应的 'project.git' 目录将创建在以下位置位置:

/var/opt/gitlab/git-data/repositories/admin/project.git

用于 Omnibus 安装,或

/home/git/repositories/admin/project.git

用于从源安装。

所有操作都应该在 GitLab 服务器上执行。关于 /opt 和 /var/opt:/var/opt 是 GitLab 存储其文件(包括项目)的地方,而 /opt 是应该安装 SubGit 工具的地方。 SubGit 不是 GitLab 的一部分,它是 SVN 到 Git 翻译的独立工具;可以在这里获得:

https://subgit.com/download.html

顺便说一句,还有另一个指南如何将 SubGit 与 GitLab 一起使用:

https://subgit.com/gitlab.html

它也可能有帮助。