我的公司已经部署了Perforce的2014.X版本(服务器和客户端)。我们有一个现有的Peforce流库。
他们正在调查升级到2015.X,也称为Helix。其中一个功能是与Git更好地集成,称为“GitSwarm”,它使用与Perforce集成的GitLab前端。
我已经在线查看了这些文档但我没有找到这些问题的答案:
我有几个问题:
完成更新后,我的现有流库可以通过GitSwarm访问,还是我们需要以某种方式创建或迁移到新的库?
如果前者可行,我假设从Git Fusion / Connector文档中,我们只能基于单个流创建Git repo?因此,GitSwarm只能提供一个单一的流吗?
最后,如果我在GitSwarm端创建一个功能分支,并将其推送到Perforce流库以进行合并,那么git分支将如何出现在Perforce中?作为新流?或者只有一个分支?基本上,我们是否必须在git端的主映射流上合并git分支?或者我们可以在Perforce或Git上自由合并吗?
很抱歉这篇长篇文章,但是随着GitSwarm的部署,我想很多团队都会遇到同样的问题。
答案 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进行合并。