[BUG] DVS cross-platform file error

Julian Fitzell julian at beta4.com
Sat May 3 06:19:11 UTC 2003


Colin Putney wrote:
> 
> On Friday, May 2, 2003, at 10:08  PM, Julian Fitzell wrote:
> 
>> Colin Putney wrote:
>>
>>> On Friday, May 2, 2003, at 03:57  PM, Tim Rowledge wrote:
>>>
>>>>> Traditionally Smalltalk has used CR linends, so DVS probably ought 
>>>>> to use that; however it really shouldn't matter so long as it is 
>>>>> properly consistent.
>>>
>>> The reason DVS messes with line endings is that it's meant to be used 
>>> with CVS, which doesn't diff and merge properly with non-LF line 
>>> endings.
>>
>>
>> I don't think this is actually quite true, is it?  I was always led to 
>> believe that if you check in a text file with the correct line-endings 
>> used on your system the cvs client will convert it to LF before 
>> storing it in the repository.  When somebody checks it out, they will 
>> get it in *their* native line endings.  The problem is that if you 
>> check in a file in the wrong line endings for your system, they don't 
>> get converted.
> 
> 
> Well, yes, different clients handle this in different ways. MacCVS Pro 
> had an option for converting line endings automatically. Of course, the 
> concept of "native" line endings is a big fuzzy these days, what with 
> MacOS X and Cygwin using LF endings, and decent text editors being able 
> to handle all three conventions.

Yes, <shudder>

> Still though, the unix-native cvs command-line client, which is what the 
> vast majority of CVS users use, wants LF endings. It would be silly not 
> to produce them.

Doesn't DVS pump out cr/lf ?  Monticello certainly does...

>> This is problematic if you copy the file to another system or work (as 
>> I do at home) on one system while committing from another (I work on a 
>> mounted filesystem - it's easier to work on a samba share than get cvs 
>> working with ssh on windows).
> 
> 
> Yeah, that's ugly.
> 
>> Of course the solution of always filing out CR/LF doesn't quite work 
>> either because if a windows user does the checkin it should get 
>> converted, but other users won't convert it.  Basically, this is jsut 
>> another argument for getting Monticello to a fully working version 
>> control system that doesn't depend on CVS.
> 
> 
> Can't the Windows CVS client be configured not to convert? But yes, we 
> need something better.

Dunno... even "Windows CVS client" is ambiguous of course.  And while 
you might be able to configure it globally, I doubt you can configure it 
on a per-file basis... and most files definitely want it converted 
because until recently window text editors didn't like non-windows line 
endings (and notepad still doesn't).

Anyway, that's just more motivation to work on Monticello, I think we've 
sufficiently established that doing it over CVS sucks (you can't even 
remember the line ending you filed in with since the image may have been 
moved to another system - and you can't just check the file because it 
might not exist yet).

Julian

-- 
julian at beta4.com
Beta4 Productions (http://www.beta4.com)



More information about the Squeak-dev mailing list