سؤال
لنفترض لدي التصحيح التي يمكن تطبيقها مع -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;
}
وفي نفس التصحيح ولكن مع اسم الدليل مختلفة (لاحظ أ، ب) أمام مسار
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;
}
المحلول
وببساطة تحويل أسماء الملفات في رؤوس قطعة فرق هي جيدة بما فيه الكفاية.
sed \
-e 's!^--- !&a/!' \
-e 's!^+++ !&b/!' \
< p0.patch \
> p1.patch
لأدوات التصحيح تغيير اسم أخرى، أود أن اقترح patchutils ، ولكن هذا هو واحد بسيط جدا أنه لا يوجد موجودة مسبقا فائدة لذلك.
لا تنتمي إلى StackOverflow