How to use diff and patch in Cygwin on Windows?

徘徊边缘 提交于 2019-12-23 18:22:55

问题


I follow many articles out there but I still don't know how to use diff and patch in Cygwin

Here I create 2 files in Windows Explorer

origin.txt

one
two
three

new.txt

one
four
five

Then I diff -u origin.txt new.txt > file.patch which results this

--- origin.txt  2013-03-21 15:53:20.062956800 +0700
+++ new.txt 2013-03-21 15:53:29.191869600 +0700
@@ -1,3 +1,3 @@
 one
-two
-three
\ No newline at end of file
+four
+five
\ No newline at end of file

Then I patch origin.txt < file.patch which show errors

patching file origin.txt
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file origin.txt.rej

How to overcome this? Is this related to Unix and Windows file format?

P/S: I'm using CYGWIN_NT-6.1-WOW64 and Windows 7 64bit


回答1:


This is almost certainly a line-ending problem. You can fix this by running dos2unix over the files first:

$ dos2unix origin.txt new.txt
$ patch origin.txt < file.patch
patching file origin.txt


来源:https://stackoverflow.com/questions/15543046/how-to-use-diff-and-patch-in-cygwin-on-windows

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!