Issue #345 new

import leads to assert failure within svn

Bryan O'Sullivan
created an issue

I have an import that's crashing as follows:

{{{ svn: E235000: In file 'subversion/libsvn_diff/lcs.c' line 216: assertion failed (lines > 0) Aborted }}}

The source line where the assert is firing isn't very interesting:

http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/lcs.c?view=annotate#l216

However, it did cause me to look at the svn rev that's triggering the assert, and indeed it contains only changes to binary files.

I did a little bisecting by hand (since the assert makes it impossible to get a Python stack trace), and the problem originates in Python-land here:

https://bitbucket.org/durin42/hgsubversion/src/78ffbe411695/hgsubversion/stupid.py#cl-277

I'm guessing the unified diff code is objecting to being called on binary files. Pretty lame way to make its objections known.

Comments (2)

  1. Patrick Mézard

    Any chance this was fixed by:

    changeset:   934:1be4ea4f3c0d
    user:        Patrick Mezard <patrick@mezard.eu>
    date:        Sun Jul 29 13:13:56 2012 +0200
    files:       hgsubversion/stupid.py
    description:
    stupid: diff with the good revision when restoring branch
    
    Converting history like:
    
      r1 create trunk
      r2 remove trunk
      r3 make some unrelated commit
      r4 restore trunk from r2
    
    stupid mode would retrieve and apply the diff with r3 instead of the
    one with r2. All the code deciding r2 is the actual parent was already
    there, only the revision argument was not passed.
    
    This fixes:
    - test_delete_restore_trunk in comprehensive/test_stupid_pull.py
    - test_delete_restore_trunk_stupid in comprehensive/test_verify_and_startrev.py
    
    Tested on OSX 10.6 with macports svn-1.7.5. I can no longer test with
    svn-1.6.
    
    
  2. Log in to comment