Мне нужен совет по проблеме, которая, на мой взгляд, была простой, и она действительно может быть простой, если создать небольшой скрипт, но я думаю, что уже должен быть способ сделать это с помощью git / quilt / stgit.
Я не совсем хорош в git, и это вызывает у меня некоторые проблемы.
Моя проблема:
У меня есть git tree (ядро 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», если нет, и просто пропускает патч, если он есть?
Спасибо.