>我有一个 git 存储库,我在其中维护一些二进制文件。现在我想创建最后几个提交的补丁并将它们集成到Yocto构建中。
我已经创建了这样的补丁
git format-patch -3 --binary
现在我已经将这些补丁集成到Yocto食谱文件中。Yocto在git apply
时给出了以下错误do_patch()
git binary diffs are not supported.
Patch xyz.patch does not apply (enforce with -f)
在这里创建二进制补丁时我错过了什么吗?
或
我可以在我的食谱文件中执行任何 Yocto 黑客操作以处理二进制补丁吗?
也许您需要将此cmd与其他标志一起使用--full-index
git format-patch -3 --full-index --binary
https://git-scm.com/docs/git-format-patch --二元的 除了 --full-index 之外,输出一个可以使用 git-apply 应用的二进制差异。
我可以在我的食谱文件中执行任何 Yocto 黑客操作以处理二进制补丁吗?
当我处理二进制源时,我将二进制部分放在一个.tar.gz
中,将其添加到SRC_URI
,然后用do_install_append
将我需要的位cp
到我需要的地方。
我也在使用yocto工具(devtool更新配方(创建的补丁时遇到了这个问题,我不想改变我创建补丁的方式。
默认情况下,yocto 使用 quilt 来应用补丁,我使用 git 解决了这个问题。
这可以通过在配方中设置PATCHTOOL
变量来配置:
PATCHTOOL = "git"