升级现有的 Perforce depot 以使用 GitSwarm
Upgrading an existing Perforce depot to use GitSwarm
我公司部署了 2014.X 版本的 Perforce(服务器和客户端)。我们有一个现有的 Peforce 流库。
他们正在研究升级到 2015.X,也称为 Helix。其中一项功能是与 Git 更好地集成,称为 "GitSwarm",即使用与 Perforce 集成的 GitLab 前端。
我查看了在线文档,但没有找到这些问题的答案:
我有几个问题:
更新完成后,我现有的流仓库及其完整历史是否可以通过 GitSwarm 访问,或者我们是否需要以某种方式创建或迁移到新的仓库?
如果前者可行,我从 Git Fusion/Connector 文档假设我们只能基于单个流创建 Git 回购?因此,GitSwarm 一次只能提供一个流?
最后,如果我在GitSwarm端创建一个feature分支,并将其推送到Perforce流仓库进行合并,git分支将如何出现在Perforce中?作为一个新的流?还是只有分行?基本上,我们是否必须在 git 侧的主映射流上合并回 git 分支?或者我们可以自由地合并回 Perforce 或 Git ?
抱歉这么久 post,但是由于 GitSwarm 即将部署,我想很多团队都会面临同样的问题。
1) 是的,可以从 Git 端访问流的完整历史记录。将 GitSwarm 与流一起使用的一个挑战是在克隆 git 存储库后无法更改流视图。 Git 无法理解底层流语义或跟随移动的内容。
流视图中的排除行与 Git 播放效果不佳;可以在 Git 中添加文件,然后无法将其推送到 GitSwarm,因为它们已被明确阻止。
从流中导入的行将在 Git 中转换为子模块。
2)正确;每个 repo 指向一个 stream depot。您可以创建多个存储库,每个存储库指向不同的流仓库。如果需要,可以将每个流仓库中的各个流映射到 Git 中的分支。通常,您的主线流应该映射到 Git 存储库中的 master。
3) Git 分支以轻量级格式存储,因此当这些更改进入 Helix 服务器时,它们不会作为单独的流显示。您可以使用存储库配置文件将 Git 中的长期分支显式映射到 Helix 中的流。如果您将流映射到 Git 中的长期分支,则可以在 Git 或 Helix 中合并。
我公司部署了 2014.X 版本的 Perforce(服务器和客户端)。我们有一个现有的 Peforce 流库。
他们正在研究升级到 2015.X,也称为 Helix。其中一项功能是与 Git 更好地集成,称为 "GitSwarm",即使用与 Perforce 集成的 GitLab 前端。
我查看了在线文档,但没有找到这些问题的答案:
我有几个问题:
更新完成后,我现有的流仓库及其完整历史是否可以通过 GitSwarm 访问,或者我们是否需要以某种方式创建或迁移到新的仓库?
如果前者可行,我从 Git Fusion/Connector 文档假设我们只能基于单个流创建 Git 回购?因此,GitSwarm 一次只能提供一个流?
最后,如果我在GitSwarm端创建一个feature分支,并将其推送到Perforce流仓库进行合并,git分支将如何出现在Perforce中?作为一个新的流?还是只有分行?基本上,我们是否必须在 git 侧的主映射流上合并回 git 分支?或者我们可以自由地合并回 Perforce 或 Git ?
抱歉这么久 post,但是由于 GitSwarm 即将部署,我想很多团队都会面临同样的问题。
1) 是的,可以从 Git 端访问流的完整历史记录。将 GitSwarm 与流一起使用的一个挑战是在克隆 git 存储库后无法更改流视图。 Git 无法理解底层流语义或跟随移动的内容。
流视图中的排除行与 Git 播放效果不佳;可以在 Git 中添加文件,然后无法将其推送到 GitSwarm,因为它们已被明确阻止。
从流中导入的行将在 Git 中转换为子模块。
2)正确;每个 repo 指向一个 stream depot。您可以创建多个存储库,每个存储库指向不同的流仓库。如果需要,可以将每个流仓库中的各个流映射到 Git 中的分支。通常,您的主线流应该映射到 Git 存储库中的 master。
3) Git 分支以轻量级格式存储,因此当这些更改进入 Helix 服务器时,它们不会作为单独的流显示。您可以使用存储库配置文件将 Git 中的长期分支显式映射到 Helix 中的流。如果您将流映射到 Git 中的长期分支,则可以在 Git 或 Helix 中合并。