Branko Čibej wrote on Mon, 16 Nov 2020 16:15 +0100:
> On 15.11.2020 19:16, Nathan Hartman wrote:
> > On Sat, Nov 14, 2020 at 4:51 AM Branko Čibej <br...@apache.org> wrote:  
> >> On 13.11.2020 17:37, Nathan Hartman wrote:  
> >>> Done in r1883388. Added to the backport proposal but I'll let you un-veto 
> >>> it :-)  
> >>
> >> This fixes the issue on trunk, but when I merge the two revisions to
> >> 1.14.x ...
> >>
> >> $ svn diff
> >> svn: E135000: File '.../build/ac-macros/macosx.m4' has inconsistent 
> >> newlines
> >> svn: E135000: Inconsistent line ending style
> >>
> >> $ svn ps svn:eol-style native build/ac-macros/macosx.m4
> >> svn: E200009: File '.../build/ac-macros/macosx.m4' has inconsistent 
> >> newlines
> >> svn: E135000: Inconsistent line ending style
> >>
> >>
> >> Did we really mean this? that 'svn diff' errors out on inconsistent
> >> newlines? Really really? And that you can't make them consistent by
> >> setting the svn:eol-style property (which 'svn merge' already did')?  
> > Looks like a bug to me. I'll try to track it down... It has something
> > to do with eol-style processing. I also get "E200042: Additional
> > errors:" but there are no additional errors listed. Same result
> > happens regardless of the order of merging the two revisions, but
> > removing the svn-eol-style property makes 'svn diff' work normally.  
> 
> 
> Looks like this behaviour has been in the code for a long time. It's 
> correct that 'svn diff' doesn't try to "repair" the line endings, those 
> must show up in the diff, but failing is kind of wrong. It's correct for 
> 'svn commit' iff we have svn:eol-style set, but IMO wrong for 'svn diff'.
> 
> Also I *do not* understand how that could even be an issue in this case, 
> since the line endings were fixed in the repository. Does 'svn merge' do 
> something wrong?

The file ends up with svn:eol-style=native set (even before the
propset) but a mix of LF and CRLF on disk.  Passing it through
dos2unix(1) makes the error go away.  Seems like several different bugs:

- Merging the propset left the file with inconsistent newlines.

- «svn diff» treated the inconsistency as a fatal error, even under
  -x--ignore-eol-style.  It could have printed a diff (plus or minus
  a warning, when -x--ignore-eol-style isn't in effect).

- brane's idempotent «propset» failed.

Cheers,

Daniel

Reply via email to