【问题标题】:Anything similar to git-svn for Perforce?有什么类似于 Perforce 的 git-svn 的吗?
【发布时间】:2009-12-23 18:36:16
【问题描述】:

有没有一个工具可以让我获得与 git-svn for Perforce 相同的功能?我在 github 上看到了 git-p4,但看起来这会将源代码从 git 存储库导入到 Perforce 存储库。它会反过来吗?它是打算用作常用工具还是仅用作 1 次、仅导入类型的工具?

场景:我是承包商,我的客户使用 Perforce 进行源代码控制,但我想在本地使用 git。

【问题讨论】:

  • 刚刚完成我的回答以回应您的评论

标签: git perforce


【解决方案1】:

git-p4 可以双向使用。使用 git-p4 syncgit-p4 rebase 更新您的本地工作区,然后在本地使用 git。当准备好将您的 git 提交提交到 p4 时,请使用 git-p4 submit

您将需要创建一个 P4 客户端(在与您的 git 工作区不同的地方)并将其专门用于使用 git-p4 进行同步。

我在本地使用它,几个月来一直运行良好,但有一些注意事项:

  • 您可以在本地使用 git 分支,但 P4 对它们一无所知。它只会看到主人。

  • 文件重命名将在 P4 中显示为添加+删除,而不是首选的集成+删除。

  • 运行 git-p4 submit 时会重新创建 Git 提交,因此时间戳将关闭,您可能会遇到与其他 git 分支的合并问题。 (就像“从上游变基中恢复”问题。)

【讨论】:

  • 谢谢斯科特,这是个好消息。我很快就会试一试。当您运行 git-p4 submit 时,它如何知道要提交到哪个 p4 分支/位置?我想看看如何处理不同的 p4 分支 :)
  • 它使用您告诉它的 p4 客户端提交文件。因此,无论该客户端被映射到哪里。我想您可以随时更改该 p4 客户端的映射,但您必须小心,因为 git-p4 使用 p4 changes ... 来查找需要将哪些更改导入 git,所以当您更改客户端映射时, git-p4 可能无法获得同步 git 工作区所需的所有更改。
  • 添加了另一个关于 git-p4 submit 基本上如何重新定位您的 git 工作区的警告。
  • git-p4 submit rebase 你的工作目录?它以什么为基础?
  • 另外,还有一些事情: 1. 你说你必须在与你的 git 工作区分开的地方创建一个 p4 客户端。所以要明确一点,您不在 p4 工作区中 git init 吗?如果不是,您将 git 工作区保存在哪里,以及如何在 git 工作区和 p4 工作区之间进行同步? 2. 您使用的最新 p4-sync 脚本在哪里?我最近看到的是github.com/sannies/git-p4
猜你喜欢
  • 1970-01-01
  • 2011-02-24
  • 1970-01-01
  • 2016-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多