我想创建一个使用差异的补丁,但我无法获得修补程序以使用在文件中使用的行结束字符时创建新文件或在文件更改时更改结束行。基本上,我在做:差异和补丁使用错误的行结束创建新文件或行结束时更改
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。
是否有任何方法可以使修补程序中包含的新文件和更改后的文件保持行从原始文件结束?