将多个现有Gerrit存储库克隆到Gitlab

时间:2014-01-02 10:12:16

标签: migration clone gitlab gerrit repository

我们正在从Gerrit Code Review迁移到我们办公室的GitLab。我知道如何从Gerrit克隆一个存储库到GitLab。但在我们的办公室服务器中,我们有大约50个左右的存储库。我已经尝试将存储库手动传输到GitLab的“存储库”目录然后导入,但它只创建了裸存储库。我想知道是否有办法一次性克隆所有存储库。请帮忙......

1 个答案:

答案 0 :(得分:1)

  

但它只创建裸存储库

这就是GitLab管理的,作为Git Hosting服务:可以在本地克隆的裸存储库。

您可以通过以下方式移动这些非裸机:

  • 仅将现有仓库的.git移至GitLab repo文件夹,其中每个.git在其所在的仓库后重命名:

    repo1/.git => /home/git/repositories/repo1.git
    repo2/.git => /home/git/repositories/repo2.git
    repo2/.git => /home/git/repositories/repo3.git
    

如果你在讨论两个不同的服务器(希望两者都有相同的操作系统),我建议tar cpvf repo1.git.tar /tmp/repo1.git:移入/tmp并先重命名,然后重命名,然后将该tar复制到新服务器。


虽然导入流程命令正确,但评论中提到OP redmoses

  

如果我只是将存储库复制到/home/git/repositories,那么存储库将出现在GitLab中,没有源文件或者没有在Gerrit中完成先前提交的记录。

     

为了完成这项工作,这就是我所做的:

     
      
  • 在存储库目录中创建了一个新目录
  •   
  • 将Gerrit的所有回购(位于/usr/local/gerrit2/git)复制到新目录。
  •   
  • 然后只是简单地运行GitLab的导入过程GitLab然后创建了一个名为“Dev”的组,并完美地导入了现有的存储库。
  •   
     

我不需要将存储库转换为裸存。