Я ищу совет для проблемы, которая, как я думал, была простой, и может быть просто, создав небольшой скрипт, но я думаю, что уже существует способ сделать это с помощью git/quilt/stgit.Как применить патчи на вершине дерева git, предотвращающего дублирование?
Я не очень хорошо разбираюсь в git, и это вызывает некоторые проблемы для меня.
Моя проблема: У меня есть дерево git (ядро linux) и несколько патчей. Что происходит, такие патчи были предназначены для и более ранней версии ядра, и многие из них уже были применены к моему дереву. Пластыри начинаются с строкой заголовка, как
From b1af4315d823a2b6659c5b14bc17f7bc61878ef4 (timestamp)
и делать что-то вроде
git show b1af4315d823a2b6659c5b14bc17f7bc61878ef4
в моем дереве ядра, я могу видеть, что они уже доступны в моем текущем дереве, и я не когда-либо пытались применить их.
Я пытался использовать вещи, как мерзавца применить или мерзавец я , но они, кажется, попробуйте применить патч вообще:
[email protected]:~/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
Итак: есть ли команда/Util, которая выполняет проверку, является ли patch уже применен к текущему дереву, и он делает «git apply», если это не так, и просто пропускает патч, если он есть?
Спасибо.