Команда patch не может создать новый файл
Я тестировал команду patch и создал 2 директории вот так:
d1:
d2:
file1.txt
Я использовал diff для создания патч-файла и пропатчил его:
diff -Naur d1 d2 > patchfile.txt
patch -p0 <patchfile.txt
но он не создал d1/file1.txt и показывает мне это сообщение:
The next patch would create the file d2/file1.txt,
which already exists! Assume -R? [n] n
Apply anyway? [n] n
Skipping patch.
1 out of 1 hunk ignored
Я не мог понять проблему, пожалуйста, помогите мне с этим.
patchfile.txt:
--- d1/file1.txt 1969-12-31 19:00:00.000000000 -0500
+++ d2/file1.txt 2017-11-12 22:48:07.428873802 -0500
@@ -0,0 +1,3 @@
+a
+b
+c
1 ответ
diff -Naur d1 d2 > patchfile.txt
patch -p0 <patchfile.txt
... ты имел ввиду:
cd d1; patch -p1 < ../patchfile.txt
В конце концов, файл патча содержит изменения, которые произошли (новый файл в d2
). Нет смысла говорить ему делать то, что уже сделано, не так ли?