freebsd:diff

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
freebsd:diff [08/06/2023 21:02] – [2] Methodfreebsd:diff [10/06/2023 21:45] (поточний) – [Мій приклад] Method
Рядок 6: Рядок 6:
  
   - Помістіть копії обох каталогів, скажімо, в /tmp, щоб ми могли створити файл виправлення, або, якщо ви сміливі, розмістіть їх поруч - в одному каталозі.   - Помістіть копії обох каталогів, скажімо, в /tmp, щоб ми могли створити файл виправлення, або, якщо ви сміливі, розмістіть їх поруч - в одному каталозі.
- 
   - Запустіть відповідну різницю в двох каталогах, старому та новому:   - Запустіть відповідну різницю в двох каталогах, старому та новому:
  
-```diff -ruN orig/ new/ > file.patch +diff -ruN orig/ new/ > file.patch 
--r == recursive, so do subdirectories +  -r == recursive, so do subdirectories 
--u == unified style, if your system lacks it or if recipient +  -u == unified style, if your system lacks it or if recipient may not have it, use "-c" 
-#       may not have it, use "-c" +  -N == treat absent files as empty```
--N == treat absent files as empty```+
  
 Якщо в користувача є каталог orig/, він може відтворити новий, запустивши patch. Якщо в користувача є каталог orig/, він може відтворити новий, запустивши patch.
Рядок 20: Рядок 18:
  
   - Перемістіть файл виправлення до каталогу, де існує папка orig/   - Перемістіть файл виправлення до каталогу, де існує папка orig/
- 
   - Цю папку буде знищено, тому збережіть десь її резервну копію або скористайтеся копією.   - Цю папку буде знищено, тому збережіть десь її резервну копію або скористайтеся копією.
  
-`patch -s -p0 < file.patch +patch -s -p0 < file.patch 
--s == silent except errors +  -s == silent except errors 
--p0 == needed to find the proper folder`+  -p0 == needed to find the proper folder
 На цьому етапі папка orig/ містить новий вміст, але все ще має стару назву, тому: На цьому етапі папка orig/ містить новий вміст, але все ще має стару назву, тому:
  
Рядок 73: Рядок 70:
  
  
 +Для створення патча:
 +  * скопіюйте резервну копію <каталог> у щось на кшталт <каталог>.orig поряд із ним cp -r <шлях_до>/<каталог> <шлях_до>/<каталог>.orig 
 +  * створіть/оновіть/видалить файли/папки у <каталог>, поки не буде досягнуто бажаного стану 
 +  * змініть робочий каталог на <каталог> cd <шлях_до>/<каталог> 
 +  * створіть файл виправлення разом із <каталогом> diff -Naru ../<каталог>.orig . > ../file.patch 
 +  *  -N –новий-файл Вважати відсутні файли порожніми.  
 +  *  -a –текст Розглядати всі файли як текст. 
 +  *  -r –recursive Рекурсивно порівнює всі знайдені підкаталоги. 
 +  *  -u -U NUM –unified[=NUM] Вивести NUM (за замовчуванням 3) рядків уніфікованого контексту.
 +
 +Щоб застосувати патч: 
 +  - змінити робочий каталог на <каталог> cd <шлях_до>/<каталог> patch -s -p0 < <шлях_до>/file.patch 
 +  -  -s або –silent або –quiet Працювати безшумно, якщо не виникає помилка . 
 +  -  -pN або –strip=N Вилучає з файлів найменший префікс, що містить кількість скісних риск.
 +
 +Щоб скасувати виправлення (зауважте, що каталоги, створені за допомогою виправлення, потрібно видалити вручну): 
 +  - змінити робочий каталог на <каталог> cd <шлях_до>/<каталог> виправлення -Rs -p0 < <шлях_до>/file.patch 
 +  -  -R або –reverse Припустимо, що патч було створено зі старим і новим файлами, поміняними місцями. 
 +  -  -s або –silent або –quiet Працює тихо, якщо не виникає помилка. 
 +  -  -pN або –strip=N Вилучає з файлів найменший префікс, що містить кількість скісних риск.
 +
 +
 +===== Мій приклад =====
 +
 +<code bash>
 +cd /usr/local/
 +cp -a nodeny nodeny.orig
 +# change nodeny
 +
 +# make patch 
 +diff -Naru ./nodeny.orig ./nodeny > ../pon_r677_4.patch
 +
 +# apply patch for nodeny.orig
 +patch -d nodeny.orig/ -Efu --posix -p1 < ./pon_r677_4.patch
 +</code>
  
  • freebsd/diff.1686258141.txt.gz
  • Востаннє змінено: 08/06/2023 21:02
  • повз Method