近日有需要在Cygwin下生成patch,然后再在Cygwin下应用这个patch,遇见了比较烦人的问题如下:
1. ^M问题,即DOS下的回车和Linux下的回车符不一致。
2. svn diff > 123.patch 生成patch时,无法显示Binary file,报错“Cannot display: file marked as a binary type.”。
解决方案如下:
生成patch:
svn diff --force --diff-cmd /usr/bin/diff -x "-au --binary" OLD-URL NEW-URL > 123.patch
or
svn diff --force --diff-cmd /usr/bin/diff -x -au > 123.patch
应用patch:
patch -p0 --binary -i 123.patch
OK,搞定收工。