2

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

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

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

我有几个问题 :

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

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

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

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

4

1 回答 1

3

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

流视图中的排除行不能很好地与 Git 配合使用;可以在 Git 中添加文件,然后由于它们被明确阻止,因此无法将其推送到 GitSwarm。

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

2) 正确;每个仓库都指向一个流仓库。您可以创建多个存储库,每个存储库都指向不同的流仓库。如果需要,每个流库中的各个流可以映射到 Git 中的分支。通常,您的主线流应该映射到您的 Git 存储库中的 master。

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

于 2015-11-25T17:34:36.450 回答