Mail Archives: cygwin/2010/03/16/15:29:35
Hello David,
* On Tue, Mar 16, 2010 at 03:15:13PM -0400 David Eisner wrote:
> I'm running into a problem when applying patches. Here's a toy
> example. I have a file, test.txt, with a one line change. I use diff
> -u to generate a patch, and then I use patch to apply it.
>
> With unix-style line-endings (\n), everything works fine:
[...]
> But with dos-style line-endings (\r\n), the patch fails:
>
> $ file {a,b}/test.txt
> a/test.txt: ASCII text, with CRLF line terminators
> b/test.txt: ASCII text, with CRLF line terminators
[...]
> Shouldn't this work, regardless of the line-ending type?
No: patch is very picky here. From my experience, you will observe the
same behaviour on a Linux machine.
In a project I am involved, we were using diffs frequently to send in
changes. (Only recently, we changed to something more reasonable.) We
always had this problem from DOS/Windows users.
> I repeated the same experiment on a Solaris 10 box with GNU diff 2.8.1
> and GNU patch 2.5.4, and it worked fine, with both unix- and dos-style
> line endings.
Now, this is surprising to me, as I have seen the same exact problem on
Linux. AFAIR, this is a problem of patch itself. Perhaps, Solaris 10
does something differently, hiding the CRLF from patch?
BTW: In the project mentioned above, we always solved the issue with
dos2unix.
Best regards,
Spiro.
--
Spiro R. Trikaliotis http://opencbm.sf.net/
http://www.trikaliotis.net/ http://www.viceteam.org/
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -