翻译 Git -> Perforce 失败
Translation of Git -> Perforce fails
我尝试将 Git 存储库迁移到 Perforce。我试过的是(例如)
- 克隆
git clone https://github.com/mbostock/d3.git
- 正在将目录更改为新文件夹
- 提交
git p4 submit
这会在短时间内失败并显示错误消息
fatal: Not a valid object name HEAD~1036
Command failed: git cat-file commit HEAD~1036
我还没有找到 Git 适合的迁移。我正在使用 Git 1.9.5。我究竟做错了什么?
git-p4 实际上是为克隆现有的 p4 存储库而设计的,然后镜像 to/from git。您正在尝试创建一个新的 p4 分支,git-p4 不能直接这样做。所以这有点复杂。
尝试以下操作:
1.在 p4 某处创建一个空分支。
您需要一个指向您新位置的客户,//depot/foo:
$ p4 client whatever....
您还需要创建一个空文件来让 p4 满意:
$ touch P4EMPTY
$ p4 -c your_client_name add P4EMPTY
$ p4 submit -d 'Add empty file'
2。克隆它:
$ cd /path/to/git/dir
$ git p4 clone //depot/foo
3。获取要导出的存储库:
$ git remote add mycode git://whatever.git
$ git fetch mycode
$ git checkout -b upstream mycode/master
4。根据 p4 回购将其变基:
$ git p4 rebase p4/master
5.提交:
# We don't want to edit the commit message, so skip that part
$ git config git-p4.skipSubmitEdit true
$ P4CLIENT=your_client_name git p4 submit
或者类似的东西... :-)
Perforce 的 Git Fusion 产品支持将 Git 存储库导入 Perforce。
有关如何实现此目的的信息位于此处:
使用 Git Fusion 的另一个优势是用户不需要在他们的机器上安装任何东西。
希望这对您有所帮助,
仁!
我尝试将 Git 存储库迁移到 Perforce。我试过的是(例如)
- 克隆
git clone https://github.com/mbostock/d3.git
- 正在将目录更改为新文件夹
- 提交
git p4 submit
这会在短时间内失败并显示错误消息
fatal: Not a valid object name HEAD~1036
Command failed: git cat-file commit HEAD~1036
我还没有找到 Git 适合的迁移。我正在使用 Git 1.9.5。我究竟做错了什么?
git-p4 实际上是为克隆现有的 p4 存储库而设计的,然后镜像 to/from git。您正在尝试创建一个新的 p4 分支,git-p4 不能直接这样做。所以这有点复杂。
尝试以下操作:
1.在 p4 某处创建一个空分支。
您需要一个指向您新位置的客户,//depot/foo:
$ p4 client whatever....
您还需要创建一个空文件来让 p4 满意:
$ touch P4EMPTY
$ p4 -c your_client_name add P4EMPTY
$ p4 submit -d 'Add empty file'
2。克隆它:
$ cd /path/to/git/dir
$ git p4 clone //depot/foo
3。获取要导出的存储库:
$ git remote add mycode git://whatever.git
$ git fetch mycode
$ git checkout -b upstream mycode/master
4。根据 p4 回购将其变基:
$ git p4 rebase p4/master
5.提交:
# We don't want to edit the commit message, so skip that part
$ git config git-p4.skipSubmitEdit true
$ P4CLIENT=your_client_name git p4 submit
或者类似的东西... :-)
Perforce 的 Git Fusion 产品支持将 Git 存储库导入 Perforce。
有关如何实现此目的的信息位于此处:
使用 Git Fusion 的另一个优势是用户不需要在他们的机器上安装任何东西。
希望这对您有所帮助, 仁!