Как правильно использовать опцию -p команды patch - PullRequest
0 голосов
/ 11 октября 2019

Рассмотрим следующие файлы:

  • / etc / File1.conf
  • / root / device1 / config /
  • / root / device2 / config /

Второй и третий маркеры указывают путь для каждого. В этом пути есть куча конфигурационных файлов.

Я создал патч-файлы для патча каждого из этих файлов. Файлы патчей находятся в /home/username/git/patches. Теперь мне интересно, как я могу вызвать эти патчи?

Синтаксис должен быть примерно таким:

patch -i original_file patch_file -o updated_file

Это то, что я прочитал, но я не уверен, для чего мне нужен -o updated_file. Я имею в виду, конечно, что я хочу обновить свой оригинальный файл, для этого и есть патч!

Я также читал, что опция -p0 как-то очень важна. Он сообщает патчу, что мы не хотим убирать какие-либо / индикаторы с пути. Но я действительно не понимаю, что это значит. Где патч ищет эти оригинальные файлы?

Использует ли исправление абсолютный путь для поиска исходных_файлов, которые должны быть исправлены? Означает ли это, что я должен удалить 4 / с моего пути, который указывает, где находятся мои файлы исправлений, например /home/username/git/patches? Снятие 4 / оставляет меня в родительском каталоге дома. И отсюда я могу, например, найти /etc/File1.conf.

Если это было правильно, следующее исправление должно быть корректным:

patch -p4 -i patch_file1.patch /etc/File1.conf

Может кто-нибудь помочь, пожалуйста?

...