Je suis à la recherche de conseils pour un problème que je pensais être simple, et qui pourrait être simple en créant un petit script, mais je pense qu'il devrait déjà y avoir un moyen de le faire avec git/quilt/stgit.Comment appliquer des patches sur le dessus d'un arbre git pour éviter la duplication?
Je ne suis pas vraiment bon à git et cela me cause quelques problèmes.
Mon problème: J'ai un arbre git (noyau Linux) et un certain nombre de correctifs. Que se passe-t-il, de tels correctifs étaient destinés à une version plus ancienne du noyau, et beaucoup d'entre eux ont déjà été appliqués à mon arbre. Les patchs commencent par une ligne d'en-tête comme
From b1af4315d823a2b6659c5b14bc17f7bc61878ef4 (timestamp)
et en faisant quelque chose comme
git show b1af4315d823a2b6659c5b14bc17f7bc61878ef4
dans mon arbre du noyau, je peux voir qu'ils sont déjà disponibles dans mon arbre actuel, et je ne jamais envie d'essayer de les appliquer.
J'ai essayé d'utiliser des choses comme git appliquent ou git am, mais ils semblent essayer d'appliquer le patch que ce soit:
[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
Alors: est-il une commande/util qui effectue un contrôle si un patch a déjà été appliqué sur l'arbre courant, et il fait un "git apply" si ce n'est pas le cas, et saute juste le patch si c'est le cas?
Merci.