git p4同步操作失败
我正在使用“git-p4”脚本从p4迁移到git。由于更改列表数量巨大(约500万),克隆操作失败。因此,我尝试执行增量导入操作: 我尝试克隆第一次运行,然后同步操作。我测试了小改动列表 首次运行:git p4同步操作失败,git,perforce,git-p4,Git,Perforce,Git P4,我正在使用“git-p4”脚本从p4迁移到git。由于更改列表数量巨大(约500万),克隆操作失败。因此,我尝试执行增量导入操作: 我尝试克隆第一次运行,然后同步操作。我测试了小改动列表 首次运行: git p4 clone //depot/f1/f2/f3/ere@17888479,17918050 -v 第二轮: git p4 sync //depot/f1/f2/f3/ere@17918051,17918064 -v 错误: Traceback (most recent ca
git p4 clone //depot/f1/f2/f3/ere@17888479,17918050 -v
第二轮:
git p4 sync //depot/f1/f2/f3/ere@17918051,17918064 -v
错误:
Traceback (most recent call last):
File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 3677, in <module>
main()
File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 3671, in main
if not cmd.run(args):
File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 3429, in run
die("fast-import failed: %s" % self.gitError.read())
File "C:\Program Files\Git\mingw64/libexec/git-core\git-p4", line 122, in die
raise Exception(msg)
Exception: fast-import failed: warning: Not updating refs/remotes/p4/master (new tip 85c94d84335bb1441a7f959b384729b2a4d633f4 does not contain 3222bdc29799d1fe5fff91c36524481b1469f1d9)
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\Git\mingw64/libexec/Git core\Git-p4”,第3677行,在
main()
文件“C:\Program Files\Git\mingw64/libexec/Git core\Git-p4”,第3671行,在main中
如果不是cmd.run(args):
文件“C:\Program Files\Git\mingw64/libexec/Git core\Git-p4”,第3429行,正在运行
死(“快速导入失败:%s”%self.gitError.read())
文件“C:\Program Files\Git\mingw64/libexec/Git core\Git-p4”,第122行,在die中
引发异常(msg)
异常:快速导入失败:警告:不更新REF/remotes/p4/master(新提示85c94d84335bb1441a7f959b384729b2a4d633f4不包含322BDC29799D1FE5FFF91C36524481B1469F1D9)
解决方法:
-创建目录并克隆具有更改列表范围的代码。
git p4克隆//仓库/f1/f2/f3/ere@17888479,17918050-v
-将代码推送到GIT存储库。您可以使用下面链接上的给定脚本来移动具有历史记录的代码。
-创建另一个目录(空存储库)并克隆具有增量更改列表范围的代码。
-从GIT中提取代码并将其与本地存储库中的代码合并。
-解决冲突并在提交后推送冲突在git快速导入过程中出现冲突
对于Git 2.26(2020年第1季度),Git-p4
应该在该边缘情况下更加健壮
参见(2020年1月30日)和,,,,(2020年1月29日)的作者。(于2020年2月14日合并) :错误退出时更好地清理 签字人:Luke Diamand 出错后,
git-p4
调用die()
。这只是退出,子进程仍在运行
不要调用die()
,而是在创建子进程(git fastimport
)的位置引发异常并捕获它
此更改没有解决调用子孩子并且在出错时不等待它的p4CmdList()
的特定问题
是否使用--detect branchs?不,我使用的命令与说明中提到的相同。请尝试使用git p4 clone中可用的“-max changes”和“-changes block size”参数,而不是使用变更列表范围。谢谢,我找到了一个解决方法。我将变更列表范围克隆到不同的存储库(空存储库),并通过合并操作一个接一个地推送。不要忘记在回答您的问题时描述它。