如何安装Gitlab以在Subgit存储库上运行?

时间:2015-01-30 13:28:44

标签: git gitlab subgit

我刚刚开始使用SubGit,并希望结合使用Gitlab

我如何使用SubGit提供的Git存储库?

1 个答案:

答案 0 :(得分:4)

按照以下说明操作,以便将SubGit用于GitLab管理的存储库:

  1. 在GitLab中创建空的Git存储库;
  2. 在GitLab服务器上,导航到存储库目录:

    对于手动安装,路径为 / home / git / repositories /< group> /< project.git>

    对于Omnibus,安装路径为 / var / opt / gitlab / git-data / repositories /< group> /< project.git>

  3. 为已创建的存储库配置SubGit镜像:

    $ subgit configure --svn-url <url> <project.git>
    
  4. 调整配置文件:指定分支和标记映射等

    $ edit <project.git>/subgit/config
    
  5. 调整作者映射文件:

    $ edit <project.git>/subgit/authors.txt
    
  6. 指定要用于SVN服务器的凭据:

    $ edit <project.git>/subgit/passwd
    
  7. 将SubGit安装到Git存储库中:

    $ subgit install <project.git>
    
  8. 初始导入完成后,转到GitLab存储库页面,查看是否显示导入的更改。如果存储库仍为空,请尝试重新启动GitLab实例,因为这应刷新内部缓存。

  9. 请注意,根据documentation,GitLab 7.5+保留 hooks 目录以供内部使用,并且必须使用 custom_hooks 目录进行自定义预 - 接收收发后挂钩。

    另一方面,

    subgit install会生成 hooks / pre-receive hooks / post-receive 可执行脚本,这些脚本可能会破坏由所托管的所有存储库的GitLab设置。服务器。

    结果,如果您打算使用GitLab 7.5+,我建议您按照这些略微调整的说明进行操作:

    1.- 6.与上述步骤相同;

    1. 暂时将 hooks 目录移至 hooks_backup

      $ mv <project.git>/hooks <project.git>/hooks_backup
      
    2. 将SubGit安装到Git存储库中:

      $ subgit install <project.git>
      
    3. 将生成的挂钩目录移至 custom_hooks

      $ mv <project.git>/hooks <project.git>/custom_hooks
      
    4. 最后恢复GitLab挂钩:

      $ mv <project.git>/hooks_backup <project.git>/hooks
      

      之后,GitLab应该在每次推送时触发SubGit挂钩,因此SubGit能够将推送的提交与SVN存储库同步。