Monticello and extra lines between platforms

Colin Putney cputney at wiresong.ca
Wed Jul 2 22:22:47 UTC 2003


On Wednesday, July 2, 2003, at 02:58  PM, Derek Brans wrote:

> I've been working back and forth between my mac and my PC with 
> Monticello and CVS.  I've noticed now that there are 5 blank lines 
> between each line of my code.  This kind-of grew gradually. 
>  
> I also sometimes notice in my CVS logs that all lines get thrown out 
> and read back in (huge diffs) from time to time, possibly coinciding 
> with changing platforms.
>  
> I wonder if there are different newLine characters at work here on the 
> different platforms.  Either in the CVS encoding, or the Monticello 
> encoding.  Has anyone encountered anything similar in their > adventures?

Well, we've certainly run into line-end issues before.

What version of MC are you using? Originally, MC attempted to keep 
everything in CRLF format, so that CVS could diff and merge properly. 
The most recent version is a bit smarter about line endings. When 
filing out, it tries to match the following in order of preference:

1) If there's an existing file that's being overwritten, the line 
endings present in that file.
2) The line ending convention in the file when it was last filed in.
3) The native line-end convention for the platform the VM is running on.

If you've been using an older version and periodically upgrading, it's 
likely that your line-endings are corrupt. If so here's what I would 
suggest:

1) Do a clean up of your repository: Checkout all your packages and use 
a text editor to clean up all the files. Save them using the line-end 
convention expected by your cvs client. Then check them all back in.

2) Upgrade to the latest release of Monticello, currenly on SqueakMap. 
We're expecting MC to be a bit more stable now, so if a future release 
changes the file format, we'll provide a way of making the transition 
smoothly.

Hope this helps.

Colin


More information about the Squeak-dev mailing list