2009-12-23 75 views
5

是否有一种工具可以让我获得与Perforce相同的git-svn功能?我在github上看到了git-p4,但它看起来像是从git repo导入源到Perforce repo。它是否相反?它是打算作为一个频繁的工具使用,还是仅仅是一次性的进口型工具?任何类似于Perforce的git-svn?

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

+0

刚刚完成我的答案在回应您的评论 – VonC 2009-12-26 16:32:28

回答

7

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

您需要创建一个P4客户端(与git workarea分开),并专门用于使用git-p4进行同步。

我在本地使用这一点,它已经工作了好几个月,有几个注意事项:

  • 还可以使用Git分支在本地,但P4不知道他们什么。它只会看到主人。

  • 文件重命名将在P4中显示为add + delete,而不是首选的integrate + delete。

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

+0

谢谢斯科特,这是个好消息。我会尽快给这个机会。当你运行git-p4提交时,它如何知道要提交哪个p4分支/位置?我想看看如何处理不同的p4分支:) – 2010-01-01 14:57:53

+1

它使用您告诉它的p4客户端提交文件。所以,无论客户端映射到哪里。我想你可以在任何时候改变p4客户端的映射,但是你必须小心,因为git-p4使用'p4改变...'来找出哪些改变需要导入到git中,所以当你改变的时候客户端映射,git-p4可能无法获得同步git workarea所需的所有更改。 – ScottJ 2010-01-02 07:03:46

+0

增加了关于'git-p4 submit'基本上如何改变你的git workarea的另一个警告。 – ScottJ 2010-01-02 07:06:06