On Sun, Apr 04, 2010 at 05:33:22PM +0200, Bert Huijben wrote: > > -----Original Message----- > > From: rhuij...@apache.org [mailto:rhuij...@apache.org] > > Sent: zondag 4 april 2010 17:31 > > To: comm...@subversion.apache.org > > Subject: svn commit: r930702 - > > /subversion/trunk/subversion/tests/libsvn_client/client-test.c > > > > Author: rhuijben > > Date: Sun Apr 4 15:31:09 2010 > > New Revision: 930702 > > > > URL: http://svn.apache.org/viewvc?rev=930702&view=rev > > Log: > > Make the patch test in client-test pass on Windows by removing the > > assumption that the to be patched file has platform dependent EOLs. It > > has "\n" as end of line marker on all platforms. > > Stefan or Daniel, > > Can one of you (or maybe somebody else) confirm that this is the > designed behavior?
The designed behaviour is as follows: Lines of the diff header of reject files are always terminated with the native EOL-character. Other lines in the reject diff text are written with whatever EOL character was found in the patch when the line was read. I.e. the eol-style in reject files can be mixed. For patched targets, we use the EOL style dictated by svn:eol-style for all lines, or if svn:eol-style is not set: - if the line we're writing to the patched target comes the patch, (this includes lines added by the patch as well as surrounding context lines) we use whichever EOL character terminated the line in the patch file - else if the line we're writing to the patched target comes from the target itself, we use whichever EOL character terminated the line in the patch target Since files created in the greek tree do not have svn:eol-style set, I would expect both the patched result and the reject diff text to use APR_EOL_STR platform's EOL style for all lines taken from the patch. I'm not sure why the test ends up writing "\n" EOL terminators on windows. Stefan