git p4同步操作失败

时间:2016-03-26 12:12:46

标签: git perforce git-p4

我正在使用" git-p4"从p4迁移到GIT的脚本。由于大量的更改列表(约500万),克隆操作失败。所以我试图执行增量导入操作: 我尝试克隆首次运行然后同步操作。我测试了小变化列表。

首先运行:

questionsLists.add(new QuestionsList(questionName, question_answers, question_iscorrect));

第二轮:

git p4 clone //depot/f1/f2/f3/ere@17888479,17918050 -v

错误:

git p4 sync //depot/f1/f2/f3/ere@17918051,17918064 -v     

2 个答案:

答案 0 :(得分:1)

解决方法:   - 使用更改列表范围创建目录和克隆代码。 git p4 clone // depot / f1 / f2 / f3 / ere @ 17888479,17918050 -v   - 将代码推送到GIT存储库。您可以使用下面链接上的给定脚本来移动包含历史记录的代码。 https://gist.github.com/emiller/6769886   - 创建另一个目录(空存储库)并使用增量更改列表范围克隆代码。   - 从GIT中提取代码并将其与本地存储库中的代码合并。   - 解决冲突并在提交后推送它

答案 1 :(得分:0)

git-fast-import过程中有一个similar case described recently

在Git 2.26(2020年第一季度)中,git-p4应该在这种情况下更加稳健。

请参见commit 43f33e4(2020年1月30日)以及commit 19fa5accommit 6026affcommit ca5b5cccommit 4c1d586commit 5c3d502,{{3} }(2020年1月29日)通过commit 837b3a6
(由Luke Diamand (ldiamand42)Junio C Hamano -- gitster --中合并,2020年2月14日)

commit 4a77434:在错误退出时清理效果更好

签名人:Luke Diamand

发生错误后,git-p4调用die()。这只是退出,并使子进程仍在运行。

在调用子进程(die())的地方引发异常,而不是调用git-fastimport

此更改不能解决p4CmdList()调用子项而不在错误时等待它的特定问题。