I'd like to propose that we change our Eclipse preferences (or the associated preferences in whatever IDE you use) to force all created/edited files to be saved with UTF-8 encoding and to use /n (LF) as the end-of-line delimiter.  I'd also like to convert all of the existing files in the DNA repository to use this encoding and delimiter.

Currently the files in the DNA SVN repository contain a mixture of encoding formats and end-of-line delimiters based upon the default behavior of the OS that was used to create them.  With regard to delimiters, Windows ends lines of text with \r\n (CR/LF), *nix with \n (LF), and OS X with \r (CR).  Eclipse apparently attempts to maintain the encoding and delimiters used when the file was originally created, but other editors and file manipulation tools don't.  This sometimes results in multiple delimiter techniques used within the same file.

One of the main problems with this situation is many tools can't handle this mixture of encodings and/or delimiters.  Git, for instance, relies upon \n only to determine what constitutes a line.  Thus, if you modify a single character in a git-managed file created using OS X, then compare the file to the one in the repository, git will report the entire file has changed.  I've also seen problems in the past where someone inserts a copyright symbol in a file header comment from Windows, and subsequent compilations fail on a server performing continuous builds using Ant.

Given that we do standardize our encoding technique, I doubt anyone would object to the ubiquitous UTF-8 standard.  Regarding the delimiter, the two characters used by Windows increases the size of each file needlessly and, considering DNA is a JBoss project, Windows will probably be the least commonly used platform by developers.  The OS X seems inappropriate simply due to the number of tools that assume the existence of line-feeds.

I'd like to get everyone's feedback on this proposal.  Since the second part of this proposal probably involves modifying a large number of files in SVN, we'd obviously want to do this sooner rather than later.  Please comment when you get a chance.

Thanks,

John Verhaeg
Red Hat, Inc.
(314) 336-2950