On Tue, Feb 02, 2010 at 08:48:43PM +0100, Daniel Näslund wrote:
> Hi Stefan!
>
> In match_hunk() we try to match lines from the context of the patch with
> lines in the target. Earlier, in init_patch_target() we detect the eol
> of the target and open streams to read from the target and to write the
> patched result. Those streams does translation of keywords and eols.
>
> In match_hunk we read a line from original_text and translate it. But we
> don't get any translation of the eols in hunk_line_translated.

svn patch only repairs EOLs if the svn:eol-style enforces a fixed
value (such as CR or CRLF). Try setting svn:eol-style to 'CRLF' on
the patch target. Then you'll see dos-style newlines in the patched result.

Admittedly, we may want to repair EOLs in more scenarios (such as
eol-style = native).

> I've set the eol_str argument in svn_subst_translate_cstring2() to
> "\r\n" for testing but it still doesn't use "\r\n" for eol. Can there be
> an error in svn_subst_translate_cstring2()?