monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Re: Bug in CRLF conversions


From: Yury Polyanskiy
Subject: Re: [Monotone-devel] Re: Bug in CRLF conversions
Date: Sun, 29 Jan 2006 15:09:54 -0500

On Sun, 2006-01-29 at 20:54 +0100, Richard Levitte - VMS Whacker wrote:
> The two line endings returned by get_linesep_conv() are only used when
> writing the files.  When reading them (at least when reading them from
> the workspace), monotone is trying to be smart and looks for all kinds
> of line ends when it splits lines.  \r, \n and \r\n are treated the
> same.

That's exactly the problem. It shouldn't be smart here. Because if I
said my linesep is '\n' you should trust me. This will work in 99%
cases. 1% is a case when you used '\r\n' and deleted one of these
leaving only '\r' or '\n'. How the f. that possible??? That not 1% it is
a probability 10^-6 case I guess. 

On the other hand having get_linesep_conv() return {db=LF, working
copy=CRLF} worked for binary is a much probable scenario. For me it
happened at least and I spent an hour trying to understand WHY the hell
monotone wants to patch qwe.fig if I didn't touch it. When I figured out
that conversion is done in such a strange way I thought "possibly this
for some reason, otherwise this must be fixed". I wrote to list and
still can't hear the reason. 


> For the moment, there is no 'linesep_old'.  That's not how it is

I mean in terms of function line_end_convert() there is linesep_old
(which is working_copy_linesep on read-from-working copy and db_linesep
on write-to-working copy).

> If you want to focus on something, I'd focus on getting monotone to
> handle binary files in a better way (as in, at all).

Doing a graceful conversion is I think one of the steps in "getting
monotone to handle binary files in a better way". This shouldn't happen
(conversion) but if it happened at least changes don't go outside of one
screwed up working copy.

Cheers,
-up




reply via email to

[Prev in Thread] Current Thread [Next in Thread]