svn:eol-style property

Kevin Ballard eridius at macports.org
Wed Jan 24 10:04:04 PST 2007


I'm not seeing a problem right now, because all of the current  
patchfiles are supposed to have unix line endings.

But some time ago there was a problem - a patchfile I submitted had  
mixed line endings, and the committer converted it to unix and added  
svn:eol-style, which promptly broke the build. That change had to be  
reverted.

The simple fact is, the endline style on patchfiles is explicit and  
should not be touched, therefore svn:eol-style is completely wrong on  
patchfiles.

The glob pattern you have there is going to miss a bunch of  
patchfiles. If you do it right, you end up getting... actually, I  
don't know the exact count. But I know there are 200-something files  
which *don't* match. And those are generally things like apache  
config files (in the case of php), shell scripts, etc. Basically,  
things which either don't care about line endings or will want unix  
line endings.

There's 5 .txt files (actually 7, but 2 are actually patches of .txt  
files), which are the only files I can definitively say don't care  
about line endings. Those are also the only files in which there's a  
real good reason to have native line endings.

And actually, I can tell you right now that removing svn:eol-style  
will *not* break anything. If it works with svn:eol-style, it will  
work without svn:eol-style. On the other hand, things that work  
without svn:eol-style don't necessarily work with it. And in fact if  
you were to try and use MacPorts on Windows (I have no idea how you'd  
go about doing that outside of cygwin, and it'd have to be outside of  
cygwin for this to matter since, IIRC, cygwin uses unix line endings)  
then I'd expect a lot of stuff (in fact, every single port that has a  
patchfile with svn:eol-style set) to break.

The real issue here isn't that svn:eol-style is breaking builds,  
because it's not (since everybody's building on a system with unix  
line endings anyway). The issue is that svn:eol-style isn't  
appropriate for the vast majority of files on which it's currently  
set. It's not causing a problem, but that doesn't mean it belongs.

What I want to do is remove svn:eol-style from all files in the  
files/ directories and re-add it to the 5 *.txt files (ignoring the 2  
patchfiles ending in *.txt). It's been suggested that maybe we should  
add it to the Portfiles as well, but I don't think that particularly  
matters (some have it set right now and some don't - a case could be  
made to standardize that).

On Jan 24, 2007, at 12:35 PM, Blair Zajac wrote:

> Where specifically are you seeing a problem with this?
>
> I noticed that there are Python files that you would still want a  
> native eol-style on, and presumable other scripts.
>
> I would be more conservative and just do a
>
> svn propdel svn:eol-style */*/files/patch*
>
> I just tried this and this modified 1830 files, so I'm a little  
> concerned this may break something.
>
> Why not just remove the eol-style on files that have a broken build?

-- 
Kevin Ballard
http://kevin.sb.org
eridius at macports.org
http://www.tildesoft.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-dev/attachments/20070124/09878078/attachment.html


More information about the macports-dev mailing list