Windows下构建打patch时报错的解决方案 (Assertion failed: hunk)

Windows下构建打patch时报错 (Assertion failed: hunk):
Assertion failed: hunk, file .\src\patch\2.5.9\patch-2.5.9-src\patch.c, line 354

原因是代码文件上传到git仓后,会自动调整行尾换行符为LF(\n),而Windows下的默认行尾换行符为CRLF(\r\n),因此在打patch时,触发了patch的内部错误。

参见文章:https://sourceforge.net/p/gnuwin32/discussion/general/thread/59954e91/

解决方法:在Windows上使用patch命令时带上参数--binary

将原来的命令

patch.exe -p1  0<patches\0001.patch

修改成

patch.exe -p1  0<patches\0001.patch --binary

即可。

该参数(--binary)仅支持Windows系统。


本文为原创内容,遵循CC BY-ND 4.0协议,署名-禁止演绎。
转载请注明出处:https://tis.ac.cn/blog/kongdeyou/windows_patch_error_assertion_failed_hunk/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注