我正在使用" 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
答案 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 19fa5ac,commit 6026aff,commit ca5b5cc,commit 4c1d586,commit 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()
调用子项而不在错误时等待它的特定问题。