Большинство программистов создают патчи с помощью утилиты diff (см. man diff), получившей свое название в результате сокращения английского difference – разница. Эта штука построчено сравнивает файлы, отображая только реальные изменения. Знак "-", стоящий впереди, означает, что данная строка была удалена, а "+" – добавлена. Имя файла предваряется тройным "---"/"+++" и, как правило, все изменения дистрибутива собраны в одном diff'e. Файлы изменений обычно имеют расширение .diff или .patch, но даже без расширения их легко отождествить визуально (см. листинг 3):
diff -pruN biew-561/biewlib/sysdep/ia32/os2/timer.c biew-562/biewlib/sysdep/ia32/os2/timer.c
--- biew-561/biewlib/sysdep/ia32/os2/timer.c 2001-11-18 17:05:48.000000000 +0000
+++ biew-562/biewlib/sysdep/ia32/os2/timer.c 2004-09-20 19:34:11.000000000 +0000
@@ -29,7 +29,7 @@ static HTIMER timerID = 0;
static TID timerThread = 0;
static timer_callback *user_callback = NULL;
-static VOID __NORETURN__ thread_callback( ULONG threadMsg )
+static VOID __NORETURN__ _Syscall thread_callback( ULONG threadMsg )
{
ULONG recv;
UNUSED(threadMsg);