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

svn diff / blame -x --ignore-space-change doesn't ignore EOL style changes

From: Stanimir Stamenkov <s7an10_at_netscape.net>
Date: Wed, 20 Apr 2011 20:44:08 +0300

The '--ignore-space-change' option, and '--ignore-all-space' for
that matter, to the 'diff' and 'blame' commands doesn't seem to
ignore changes in the EOL style. I really expect each of:


in the given order to include the effect of the previous one. There
are many files which get initially created on Windows with CRLF
line-endings, but without the 'svn:eol-style=native' property set.
Then at some revision this property gets set and it gets very
difficult track/find the origin of past changes, onwards. The
problem gets messier when the EOL style changes to LF and CRLF
number of times before the 'svn:eol-style' gets properly set.

Now, one could think:

svn diff / blame -x --ignore-eol-style ...

should be sufficient. But then often I need to use:

svn diff / blame -x --ignore-space-change ...

to ignore any space changes, e.g. changes to "tabs vs. spaces-only"
to the indentation (and elsewhere), which becomes impossible once
the file has changed the EOL style number of times.

Is the current behavior of the space ignoring options intended, or
it appears omission?

FWIW, I'm on Windows and I workaround the problem by having
installed the 'diff' command from the GnuWin32 [1] packages, which
doesn't seem to care about EOL style differences (treats them as equal):

svn diff / blame --diff-cmd diff -x "--ignore-space-change ..." ...

It would be really nice if the SVN default internal diff
implementation adds the effect of '--ignore-eol-style' to the
'--ignore-space-change' and '--ignore-all-space' options.

[1] http://gnuwin32.sourceforge.net/

Received on 2011-04-20 19:44:36 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.