2016-06-13 1 views
1

Я пытаюсь исправить файл.Избегайте команды исправления, чтобы спросить, какой файл исправлять ошибку «Файл для исправления»

Файл исправления находится в каталоге, в котором находится список файлов, подлежащих исправлению.

Когда я запускаю воздаем

patch < file.patch

Это побуждает меня

File to patch:

Как избежать этого? Что я должен добавить в файл исправления, чтобы автоматически определить имя файла, которое он должен исправить?

+0

В каком формате файла патча вы работаете? (Включая первые несколько строк файла, это поможет идентифицировать это.) – duskwuff

+0

Патч-файл обычно представляет собой унифицированный diff (т. Е. Вывод 'diff -u'), поэтому он помещает некоторые имена файлов вверху, которые' patch' распознает , Но имена файлов могут быть 'a/subdir/file1', а ваш текущий каталог находится чуть выше' subdir'. Возможно, вам придется использовать опцию '-p'' patch' (например, 'patch -p1 <...' или 'patch -p2 <...'). Откорректируйте в соответствии с –

+0

Продолжая комментарий Крейга, опция '-pX' сообщает' patch', чтобы полосать элементы X пути пути (косые черты) слева. Если вы получите ошибку * не удалось найти * '/ путь/to/filename',' File to patch: 'и вы знаете, что файл находится в' path/to/filename' в вашей системе, вы должны использовать 'path - p1', чтобы удалить 'a /' с начала пути, позволяя 'patch' находить файл для исправления в вашей системе. –

ответ

0

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

$ diff -u OriginalFile NewFile >NewFile.patch 

Тогда вы можете просто ...

$ patch -u <NewFile.patch 

Для получения дополнительной информации, читайте о unified GNU diff format.

+0

Это не исключает вопроса/необходимости взаимодействия, независимо от того, какой '-p' указан, по крайней мере, если« NewFile »удален. Там нет патча manpage или учебник, который объясняет, что происходит, если второй файл отсутствует, что является единственной логикой usecase для исправления, на мой взгляд. –

Смежные вопросы