преобразование уровня полосы патчей

Предположим, у меня есть патч, который можно применить с -p0, есть ли инструмент для автоматического преобразования этого патча в патч -p1. Например, преобразование

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;
 }

В тот же патч, но с другим именем каталога (обратите внимание на a, b) перед дорожкой

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;
 }

unix,patch,

2

Ответов: 1


2 принят

Простое преобразование имен файлов в заголовках diff chunk достаточно хорошо.

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

Для других инструментов для исправления патчей я предлагаю patchutils , но это настолько просто, что для него нет уже существующей утилиты.

Unix, патч,
Похожие вопросы
Яндекс.Метрика