commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Cooper <>
Subject Re: [all][POLL] what files to fixcrlf for windows distributions
Date Sat, 03 Dec 2005 21:50:22 GMT
On 12/3/05, Phil Steitz <> wrote:
> I don't think it is feasible to patch the maven dist plugin or the
> hand-rolled ant scripts to inspect .svn/props for each file and then
> change line endings accordingly.
> I also verified that distros created on Windows are in fact shipping
> CRLF line endings on all files that have eol=native in their svn
> props.  A recent example is the 1.1 IO release.  To me, this is a
> problem, since it adds to the size of the distros and makes the
> contents of the distro dependent on the OS used to build it.

I really don't think this is an issue. It's been this way for _years_,
without any problems that I've been aware of. I see no reason to suddenly
declare it's an issue and go to all the lengths being discussed to "fix" it.
As for the size, given that the distributions are compressed, and text
compression algorithms are very good indeed, I seriously doubt that it's
going to make any significant difference.

I see three realistic options to fix this, none of which are ideal,
> listed in order of how I view them.  Other ideas - or statements that
> this is a non-issue - welcome.  I have already done the work for 2 and
> will submit the patch if that is the preferred solution.
> 1. Change svn props to get rid of "eol=native" and specify "eol=crlf"
> for .txt.  IIUC the docs, lf is the default, so this should make all
> sources default to lf.  It does force Windows users to correctly set
> line endings on patches, commits, etc.  This is essentially going back
> to the way things were in cvs.


First off, as I pointed out elsewhere, this is *not* going back to the way
things were with CVS. We had exactly the same issue when we were using CVS,
and nobody seemed to want to "fix" it then. In fact, we've had this same
situation since Commons was born. The Windows CVS command line client
defaults to CR-LF on checkout, as does WinCVS (which also has a checkbox you
need to explicitly check if you want Unix line ends).

The more serious issue, though, is that this can end up causing incorrect
line number reporting in diffs, exceptions, and in other cases, which is
going to make our job as component developers more painful than it already

2. Patch the maven dist plugin to put lf line endings on all of the
> file types listed as recommended to have "eol=native" on the apache
> svn pages and crlf on .txt files.  I would make both properties
> configurable in the plugin, with the default for the first being empty
> and the second ".txt"  The problem with this is getting all of the
> extents fixed in the lf case.
> 3. Move to centralized release builds, running all release builds from
> minotaur.  Would have to work through the issues here.

That would hurt the whole of Commons, IMO. It would force all of the Windows
developers to learn to do development - or at least building releases - in a
new environment, which will be more painful. This at a time where we really
need to make the release process as painless as possible, so that more
people are willing to take it on.

Martin Cooper

> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message