升级现有Perforce软件仓库以使用GitSwarm

时间:2015-11-24 09:10:41

标签: git perforce gitlab gitswarm

我的公司已经部署了Perforce的2014.X版本(服务器和客户端)。我们有一个现有的Peforce流库。

他们正在调查升级到2015.X,也称为Helix。其中一个功能是与Git更好地集成,称为“GitSwarm”,它使用与Perforce集成的GitLab前端。

我已经在线查看了这些文档但我没有找到这些问题的答案:

我有几个问题:

  1. 完成更新后,我的现有流库可以通过GitSwarm访问,还是我们需要以某种方式创建或迁移到新的库?

  2. 如果前者可行,我假设从Git Fusion / Connector文档中,我们只能基于单个流创建Git repo?因此,GitSwarm只能提供一个单一的流吗?

  3. 最后,如果我在GitSwarm端创建一个功能分支,并将其推送到Perforce流库以进行合并,那么git分支将如何出现在Perforce中?作为新流?或者只有一个分支?基本上,我们是否必须在git端的主映射流上合并git分支?或者我们可以在Perforce或Git上自由合并吗?

  4. 很抱歉这篇长篇文章,但是随着GitSwarm的部署,我想很多团队都会遇到同样的问题。

1 个答案:

答案 0 :(得分:3)

1)是的,可以从Git端访问流的完整历史记录。将GitSwarm与流一起使用的一个挑战是克隆git repo后无法更改流视图。 Git无法理解底层流语义或跟踪移动的内容。

流视图中的排除行与Git不兼容;可以在Git中添加文件,然后不能将它们推送到GitSwarm,因为它们被明确阻止。

来自流的导入行将转换为Git中的子模块。

2)正确;每个回购点都指向一个流库。您可以创建多个repos,每个点都在不同的流库中。如果您愿意,可以将每个流库中的各个流映射到Git中的分支。通常,您的主线流应该映射到您的Git仓库中的master。

3)Git分支以轻量级格式存储,因此当这些更改进入Helix服务器时,它们不会作为单独的流可见。您可以使用存储库配置文件将Git中的长期分支显式映射到Helix中的流。如果您将流映射到Git中的长寿分支,则可以使用Git或Helix进行合并。