我正在为一个我认为很简单的问题寻求建议,通过创建一个小脚本可能确实很简单,但我认为应该已经有一种方法可以用 git/quilt/stgit 做到这一点。
我不太擅长 git,这给我带来了一些问题。
我的问题:我有一个 git 树(linux 内核)和一些补丁。会发生什么,这些补丁是为旧版本的内核设计的,其中许多已经应用到我的树上。补丁以标题行开头,例如
From b1af4315d823a2b6659c5b14bc17f7bc61878ef4 (timestamp)
并通过做类似的事情
git show b1af4315d823a2b6659c5b14bc17f7bc61878ef4
在我的内核树中,我可以看到它们已经在我当前的树中可用,我不想尝试应用它们。
我尝试使用git apply或git am之类的东西,但他们似乎尝试应用补丁:
alan@ubuntu:~/Desktop/openwrt/linux-git/linux-2.6.33.y$ git apply -p1 --check --index /home/alan/Desktop/openwrt/svn/backfire-branch/build_dir/linux-kirkwood/linux- 2.6.30.10/patches/generic/000-bzip_lzma_remove_nasty_hack.patch
error: patch failed: lib/decompress_bunzip2.c:45
error: lib/decompress_bunzip2.c: patch does not apply
error: patch failed: lib/decompress_unlzma.c:29
error: lib/decompress_unlzma.c: patch does not apply
那么:是否有任何命令/实用程序可以检查是否已在当前树上应用了补丁,如果没有,它会执行“git apply”,如果有则跳过补丁?
谢谢。