Question

Supposons que j'ai un correctif qui peut être appliqué avec -p0, existe-t-il un outil pour transformer automatiquement ce correctif en correctif -p1? Par exemple, transformer

Index: stdio-common/_i18n_number.h
===================================================================
--- stdio-common/_i18n_number.h (revision 8348)
+++ stdio-common/_i18n_number.h (working copy)
@@ -116,7 +116,7 @@ _i18n_number_rewrite (CHAR_T *w, CHAR_T
 #else

 static CHAR_T *
-_i18n_number_rewrite (CHAR_T *w, CHAR_T *rear_ptr)
+_i18n_number_rewrite (CHAR_T *w, CHAR_T *rear_ptr, CHAR_T *end)
 {
   return w;
 }

Dans le même patch mais avec un nom de répertoire différent (notez le a, b) devant le chemin

Index: stdio-common/_i18n_number.h
===================================================================
--- a/stdio-common/_i18n_number.h (revision 8348)
+++ b/stdio-common/_i18n_number.h (working copy)
@@ -116,7 +116,7 @@ _i18n_number_rewrite (CHAR_T *w, CHAR_T
 #else

 static CHAR_T *
-_i18n_number_rewrite (CHAR_T *w, CHAR_T *rear_ptr)
+_i18n_number_rewrite (CHAR_T *w, CHAR_T *rear_ptr, CHAR_T *end)
 {
   return w;
 }
Était-ce utile?

La solution

Il suffit de transformer les noms de fichiers dans les en-têtes de bloc de diff.

sed \
    -e 's!^--- !&a/!' \
    -e 's!^+++ !&b/!' \
    < p0.patch \
    > p1.patch

Pour les autres outils de gestion des correctifs, je suggérerais patchutils , mais celui-ci est si simple. qu'il n'y a pas d'utilitaire préexistant pour cela.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top