No, I don't think that's correct. --ignore-space-change: ignores changes in the amount of white-space, but not ignoring "all white-space". This means that "having no white-space" in not considered equal to "having white-space". Example: "abc def" is considered equal to "abc def", but not equal to "abcdef".
--ignore-all-space: ignores all differences in white-space, including between "having no white-space" and "having white-space". I.e. "abc def" is considered equal to "abcdef". The above two only apply to white-space, not to eol-style, if I'm not mistaken. So the --ignore-eol-style is orthogonal. Can't you just use both options? svn diff / blame -x --ignore-space-change -x --ignore-eol-style Or, with the short option for ignoring space-change: svn diff / blame -x-b -x--ignore-eol-style (I generally prefer using --ignore-space-change instead of --ignore-all-space, because the latter can hide really important changes, which change the semantics e.g. in most programming languages or xml files and such). Cheers, -- Johan On Wed, Apr 20, 2011 at 8:03 PM, Daniel Shahaf <d...@daniel.shahaf.name> wrote: > AIUI, --ignore-eol-style + --ignore-space-change == --ignore-all-space. It > seems to me that --ignore-all-space would work for your use case? > > On Wed, 20 Apr 2011 20:44 +0300, "Stanimir Stamenkov" <s7a...@netscape.net> > wrote: >> 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: >> >> --ignore-eol-style >> --ignore-space-change >> --ignore-all-space >> >> 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/ >> >> -- >> Stanimir >> >