[BUG]DVS breaks FileContentsBrowser diffing

Ned Konz ned at bike-nomad.com
Fri Jun 27 12:25:14 UTC 2003


On Friday 27 June 2003 01:03 am, Avi Bryant wrote:

> - All Monticello packages are loaded using CrLfFileStream, to
> ensure that everything in the image is using CR

That won't work. CrLfFileStream doesn't work right with some of the 
error cases we've seen, and has been the source of some of the broken 
files that have been checked in. Specifically, if your line endings 
are anything but #Cr, #CrLf, or #Lf you'll end up with trash.

What does it do with <CR><CR><LF> (which is what you get if you're on 
a Windows client and you checkout old DVS or Monticello files that 
were checked into CVS on a Unix box)?

What's wrong with the withSqueakLineEndings code that I put in?

> 1. One nice thing about DVS is it uses normal chunk format for its
> fileouts.  This means you can file it in without using DVS.  This
> also means that people *are going to* file in DVS packages without
> DVS, and those packages *are going to* have line-endings other than
> CR.  That means you will end up with LFs inside your source, which
> I assume was at the root of Tim's problem.

> Ultimately (and this is the bad news), the line ending issues in
> DVS are a result of a fundamentally flawed goal - to be compatible
> both with CVS and with Squeak chunk format. 

We can do this in two ways:

* make DVS proactive. In its header we can put code that sniffs if it 
is being loaded using DVS. If not, we can 

* make Squeak more robust loading files. I'd vote for this one. 
There's no reason why we can't translate any of:

	CR
	CRLF
	CRCRLF
	CRLFLF

into a single native CR on file-in.

> 2. At this point Monticello does everything DVS does and much more,
> and it doesn't have line-ending problems (fingers crossed).
>  There's no excuse not to use it, except possibly for a lack of
> documentation (and if you can't figure it out, I will write
> detailed emails until you can).  So use it, please.  The only thing
> I currently use DVS for is for Monticello itself, and when I find
> another couple of hours I'll come up with a bootstrap strategy so
> that I can get rid of that dependency as well...
>
> Ok, that was an excessively long and emphatic email, but it's been
> a frustrating few days in line-ending land.

Thanks for attacking this!
-- 
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE



More information about the Squeak-dev mailing list