升级现有Performce仓库以使用GitSwarm

升级现有Performce仓库以使用GitSwarm,git,perforce,gitlab,gitswarm,Git,Perforce,Gitlab,Gitswarm,我的公司已经部署了2014.X版本的Perforce(服务器和客户端)。我们有一个现有的Peforce stream仓库 他们正在研究升级到2015.X,也称为Helix。其中一个特性是更好地与Git集成,称为“GitSwarm”,即使用与Performance集成的GitLab前端 我在网上查阅了文档,但没有找到这些问题的答案: 我有几个问题: 更新完成后,是否可以通过GitSwarm访问我现有的stream depot及其完整历史记录,或者我们是否需要以某种方式创建或迁移到新的depot 如

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

他们正在研究升级到2015.X,也称为Helix。其中一个特性是更好地与Git集成,称为“GitSwarm”,即使用与Performance集成的GitLab前端

我在网上查阅了文档,但没有找到这些问题的答案:

我有几个问题:

  • 更新完成后,是否可以通过GitSwarm访问我现有的stream depot及其完整历史记录,或者我们是否需要以某种方式创建或迁移到新的depot

  • 如果前者是可能的,我从Git Fusion/Connector文档中假设,我们将只能基于单个流创建Git repo?那么GitSwarm一次只能提供一条流

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

  • 很抱歉写了这么长的帖子,但是随着GitSwarm的部署,我想很多团队都会面临同样的问题。

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

    流视图中的排除行不能很好地使用Git;可以在Git中添加文件,这些文件不能被推送到GitSwarm中,因为它们被显式阻止

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

    2) 正确的;每个回购点位于一个stream depot。您可以创建多个回购,每个回购点位于不同的streams仓库。然后,如果您愿意,可以将每个流仓库中的各个流映射到Git中的分支。一般来说,您的主线流应该映射到Git repo中的master


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

    谢谢您的回答。关于3),基本上正确的工作流是在映射到流的分支上合并回git,然后git merge commit将在Performce端显示为变更列表?这似乎是更干净的解决方案。是的,这就是我们工作的方式。它让Git擅长Git擅长的东西,而Helix则擅长Git擅长的东西。