Почему здесь `-p1` для` patch`?

Команда lshw дает довольно полный список компонентов вашего компьютера.

Вы можете получить его в Ubuntu с помощью apt-get install lshw.

0
23.05.2017, 15:40
1 ответ

Потому что git diff добавляет поддельные каталоги a и b к своим патчам, которые должны быть пропущены patch (отсюда -p1). git делает это для представления информации, которой нет в файловой системе (сравниваемые файлы не существуют одновременно); например,

diff --git a/README b/README
index ce01362..a1e6cf9 100644
--- a/README
+++ b/README
@@ -1 +1,2 @@
 hello
+Tim

для файла README в текущем каталоге. diff выдаст

--- README.orig 2017-04-07 20:39:50.843962430 +0200
+++ README      2017-04-07 20:39:56.284108455 +0200
@@ -1 +1,2 @@
 hello
+Tim

(при условии, что мы сохранили копию оригинала в другом месте); обратите внимание на отсутствие здесь каталогов (так как файлы находятся в текущем каталоге).

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

3
28.01.2020, 02:25

Теги

Похожие вопросы