从perforce迁移到git

时间:2015-07-02 09:59:29

标签: git github perforce

我有perforce repo //depot/myprog/...,其分支为

  1. //仓库/ myprog_branches / VERSION1 / myprg /...
  2. //仓库/ myprog_branches /版本2 / myprg /...
  3. 现在我想停止使用perforce并希望使用branch迁移我的整个代码并将histroy标记为git。

    怎么做?我知道我可以使用git p4命令,但它需要花费两倍的时间,我们只有12小时的perforce登录会话,命令失败,因为它是自动注销。

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

这有点令人讨厌,但你可以设置一个每小时左右记录一次的cron。你显然必须把你的密码放入cron脚本中,这就是它令人讨厌的原因。

另一种方法是使用您想要启动的修订版的普通Perforce命令克隆您的repo,然后欺骗git-p4使用它。

即。类似的东西:

$ p4 client
<create suitable client spec>
$ p4 sync //depot/foo
$ cd foo
$ git init
$ git add .
$ git commit

您的git提交需要采用正确的格式,即消息,然后是:

[git-p4: depot-paths = "//depot/foo": change = 1234]

然后做:

$ mkdir .git/refs/remotes/p4
$ git rev-parse HEAD >.git/refs/remotes/p4/master

现在git-p4将使用您的仓库:

$ git p4 sync