Як створити патч


 

Для розповсюдження невеликих змін, внесених до набори різних файлів (наприклад, вихідний код програмного забезпечення), в UNIX-подібних системах широко застосовуються патчі. Вони містять лише відомості про правки, які необхідно внести у вихідний файл для його модифікації до актуального стану.


Вам знадобиться

— встановлена ​​утиліта diff.

Інструкція


  1. Як створити патч

                            Підготуйте вихідний файл з інформацією, для зміни якої буде створюватися патч. Дані у файлі можуть бути як текстовими, так і бінарними.

  2. Як створити патч

                            Створіть дублікат файлу, підготовленого на першому кроці. Скопіюйте його в іншу директорію під тим же ім’ям або в поточний каталог, але під іншим ім’ям.

  3. Як створити патч

                            Змініть файл-дублікат, створений на попередньому кроці. Відредагуйте належним чином текст у відповідному редакторі або повторно дані у файлі додатком, призначеним для роботи з ним.

  4. Як створити патч

                            Ознайомтеся з інформацією щодо використання утиліти diff. Запустіть емулятор терміналу або перейдіть в консоль. Виконайте команду:
    diff — help
    для виведення вбудованої довідки. Спробуйте виконати команди:
    man diff
    або
    info diff
    для відображення відповідних сторінок документації, якщо вона встановлена. Особливу увагу зверніть на параметри-a,-c (-C),-e, — normal і-n (- rsc).
        

  5. Як створити патч

                            Створіть патч. Виконайте команду diff з потрібними опціями, перенаправивши її висновок у файл. В якості параметрів, наступних після опцій, вкажіть вихідний і модифікований файли. Найпростіший приклад використання diff для створення патча на основі даних файлів, розташованих в поточному каталозі, може виглядати так:
    diff source.txt modified.txt> sample.patch
        

  6. Як створити патч

                            Перегляньте сформований патч. Використовуйте відповідний текстовий редактор або виведіть його вміст в консоль командою cat. Наприклад:
    cat sample.patch
    або
    cat sample.patch | more
        

  7. Як створити патч

                            Перевірте коректність створеного файлу змін. Скористайтеся командою patch. За допомогою опції-i передайте їй шлях до патч. Використовуйте опцію-o для призначення імені файлу результату. Це запобіжить перезапис вихідного файлу, шлях до якого повинен бути зазначений останнім параметром. Наприклад:
    patch-i sample.patch-o test.txt source.txt
    Порівняйте згенерований файл і той, який був створений на третьому кроці. Вони повинні бути ідентичними. Запустите команду patch з параметрами — dry-run і — verbose, передавши їй передостаннім і останнім аргументами імена вихідного і патч-файлу:
    patch — dry-run — verbose source.txt sample.patch
    Зміни у файли вноситися не будуть, але відобразиться детальний звіт про дії, які були б зроблені при реальному виконанні команди. По ньому також можна судити про коректність створеного патча.
        

Корисні поради

Вказуйте директорії в якості параметрів diff для створення патча з декількох файлів.