[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: What do you Hate about Subversion?

From: Kevin Grover <kevin_at_kevingrover.net>
Date: 2007-01-27 20:47:34 CET

On 1/27/07, Erik Huelsmann <ehuels@gmail.com> wrote:
>
> On 1/27/07, Victor A. Wagner Jr. <vawjr@rudbek.com> wrote:
> > At 07:00 2007-01-27, Andreas Schweigstill wrote:
> > >Hello!
> > >
> > >Jeff Smith schrieb:
> > >>Agrivatingly, it stops the 'add' of 1000 files
> > >>just because it hits one .c with inconsistent
> > >>EOL styles (mixed "/n", "/r/n"). Heck, all I
> > >>want to do is tell the stupid thing to ignore
> > >>that, but there's no way except I manually find
> > >>and edit the 10 out of the 1000 before adding!
> > >>It's making it impossible to handle vendor releases of FreeRTOS.
> > >
> > >I think this is a really nice feature. A few years ago I worked on some
> > >projects whose developers didn't care at all about line endings, so
> > >there were lots of files with inconsistent EOL style. Problems may
> occur
> > >when compiling or debugging such projects.
> >
> > not to put too fine a point on it, but stopping
> > the ENTIRE add is foolish (the strongest insult I
> > know...it means you KNOW better but do the wrong
> > thing anyhow). And any project that actually
> > CARES about the line difference has some serious architecture/design
> problems.
>
> But what if the file was actually a jpeg? Translating line-endings
> then would destroy image integrity...
>
>
The file possibly being a JPEG (or any other binary format) is irrelevant.
Subversion has determined that the file is text BEFORE scanning for EOL
style, so you'll never hit that problem with binary files.

However, I think there is a way around the problem. Turn on auto-props for
source code extension (*.c, *.h, makefile, Makefile, etc....) and set
svn:eol-style to 'native' (or whatever you want it to be).

For example, if you add lines like the following to your Subversion config
file, it will do this:

[miscellany]
global-ignores = Thumbs.db
enable-auto-props = yes

# Text / Source / Scripts
*.c = svn:eol-style=native
*.cpp = svn:eol-style=native
*.h = svn:eol-style=native
*.dsp = svn:eol-style=CRLF
*.dsw = svn:eol-style=CRLF
*.sh = svn:eol-style=native;svn:executable
*.py = svn:eol-style=native;svn:executable
*.pl = svn:eol-style=native;svn:executable
*.txt = svn:eol-style=native
Makefile = svn:eol-style=native
makefile = svn:eol-style=native

The only 'sort of bad thing' is that this is a per-user configuration, NOT a
per-repository configuration. However, as long as the user that does the
import has it, everyone else will inherit the properties when they
checkout/update from the repository.

- Kevin
Received on Sat Jan 27 20:48:12 2007

This is an archived mail posted to the Subversion Users mailing list.