我想創建一個使用差異的補丁,但我無法獲得修補程序以使用在文件中使用的行結束字符時創建新文件或在文件更改時更改結束行。基本上,我在做:差異和補丁使用錯誤的行結束創建新文件或行結束時更改
cp -r dir1 dir3
diff -ruN dir1 dir2 > dir3\patch.txt
cd dir3
patch -p1 < patch.txt
所有dir1
和dir2
之間的變化正確地應用,除了新文件換行符結束時默認爲CR+LF
,即使在dir2
文件使用LF
作爲的結束線標記。此外,任何文件的差異只是一個行結束更改不以任何方式修補 - 差異似乎沒有看到任何更改。
因此運行diff -rq dir2 dir3
給出了一堆Files aaa and bbb differ
,但diff -rwq dir2 dir3
工作正常。
我使用diff - GNU diffutils version 2.7
和patch 2.5
從UnxUtils
在Windows XP。
是否有任何方法可以使修補程序中包含的新文件和更改後的文件保持行從原始文件結束?