команда patch не может создать новый файл

Я тестировал команду patch и создавал 2 dirs следующим образом:

d1: d2: file1.txt

Я использовал diff для создания файла патча и исправил его:

diff -Naur d1 d2 > patchfile.txt patch -p0 <patchfile.txt

, но он didn 't создайте файл 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
задан 14 November 2017 в 02:30

2 ответа

diff -Naur d1 d2 > patchfile.txt patch -p0 <patchfile.txt

... Вы имели в виду:

cd d1; patch -p1 < ../patchfile.txt

В конце концов, файл исправления содержит изменения, которые произошли (новый файл в d2). Нет смысла рассказывать ему о том, что уже сделано, есть ли

1
ответ дан 18 July 2018 в 03:22
diff -Naur d1 d2 > patchfile.txt patch -p0 <patchfile.txt

... Вы имели в виду:

cd d1; patch -p1 < ../patchfile.txt

В конце концов, файл исправления содержит изменения, которые произошли (новый файл в d2). Нет смысла рассказывать ему о том, что уже сделано, есть ли

1
ответ дан 24 July 2018 в 17:49
  • 1
    Да, "cd d1; patch -p1 & lt; ../patchfile.txt" работа, но почему "patch -p0 & lt; patchfile.txt" не работает, это должно быть одно и то же. – void7 13 November 2017 в 20:55
  • 2
    И что вы имеете в виду, нет смысла говорить ему делать то, что уже сделано. Цель состоит в том, чтобы сделать d1 (старая версия) такой же, как d2 (новая версия) – void7 13 November 2017 в 21:19
  • 3
    @ void7 вы читали патч? – muru 14 November 2017 в 00:21
  • 4
    Вы имеете в виду patchfile.txt? – void7 14 November 2017 в 00:52

Другие вопросы по тегам:

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