142: Error with new diff algorithm

email.*******@gmai***** (Google Code) (Is this you? Claim this profile.)
June 28, 2007
When viewing a diff we get an error

ist assignment index out of range

Traceback (most recent call last):
  File
"/home/ubuntu/work/reviewboard/reviewboard/../reviewboard/diffviewer/views.py",
line 200, in view_diff
    files = get_diff_files(diffset, interdiffset)
  File
"/home/ubuntu/work/reviewboard/reviewboard/../reviewboard/diffviewer/views.py",
line 166, in get_diff_files
    lambda: get_chunks(filediff))
  File "/home/ubuntu/work/reviewboard/reviewboard/djblets/util/misc.py",
line 43, in cache_memoize
    data = lookup_callable()
  File
"/home/ubuntu/work/reviewboard/reviewboard/../reviewboard/diffviewer/views.py",
line 166, in 
    lambda: get_chunks(filediff))
  File
"/home/ubuntu/work/reviewboard/reviewboard/../reviewboard/diffviewer/views.py",
line 88, in get_chunks
    for tag, i1, i2, j1, j2 in differ.get_opcodes():
  File "myersdiff.py", line 56, in get_opcodes
  File "myersdiff.py", line 146, in _gen_diff_data
  File "myersdiff.py", line 431, in _lcs
  File "myersdiff.py", line 191, in _findSMS
IndexError: list assignment index out of range

The attached change to diffviewer.tests.py reproduces it. It's quite large
because it's based on a real file.
chipx86
#1 chipx86
Should be fixed. I'll be updating the server tonight.
  • +Fixed
chipx86
#2 chipx86
Er, ignore the server part. :) But yes, it's fixed in SVN.