Google Cloud Source Repository只是一个浅层克隆?

时间:2017-10-19 07:58:46

标签: git google-cloud-platform google-cloud-source-repos google-container-builder

我们的代码托管在GitHub上。我们正在使用Google Cloud Container Builder来构建和打包我们的软件。为此,我们必须将我们的私人仓库连接到Google Cloud Source Repository。不幸的是,镜像似乎是一个浅层克隆,因为我们的开发工具正在抱怨它。例如SonarQube无法获取某些文件的责任。

文档

  

已连接的存储库

     

如果您已在GitHub或Bitbucket上拥有存储库,则可以将其连接到您的Cloud Source Repository。已连接的存储库将自动与Cloud Source Repository同步。

有没有办法增加克隆的深度?或者如何制作完整的克隆?

2 个答案:

答案 0 :(得分:1)

Google Cloud Source Repository仅支持完整克隆。您的存储库确实包含所有分支(refs/heads/*)和标记(refs/tags/*)的完整历史记录。

如果缺少提交,我的第一个猜测是提交仅在refs/pulls/*之类的命名空间下找到,CSR不会镜像。

答案 1 :(得分:0)

如所述here

<块引用>

为了在 Git 存储库上构建您的源代码,Cloud Build 会执行该存储库的浅层克隆。这意味着在要构建的工作区中仅检出启动构建的单个提交。 Cloud Build 不会检查任何其他分支或历史记录。这样做是为了提高效率,这样构建就不必为了构建单个提交而等待获取整个存储库和历史记录。

<块引用>

如果您想在构建中包含更多的 repo 历史记录,请在构建配置文件中添加一个构建步骤以“unshallow”克隆。例如

steps:
- name: gcr.io/cloud-builders/git
  args: ['fetch', '--unshallow']
...