4611: Diff viewer cannot display patch

Misery

What version are you running?

3.0 Final

What's the URL of the page containing the problem?

http://localhost:8080/r/9/diff/1#index_header

What steps will reproduce the problem?

  1. Add a Mercurial repo to RB
  2. Create a simple patch file to an existing file in repo
  3. Got to localhost:8080/r/new/ and upload patch file (from previous hg diff or something like that)
  4. Publish review request
  5. Click on "diff"
  6. RB shows an exception for that part of diff

What is the expected output? What do you see instead?

First: Show the diff correctly

Second: Show the part of that patch file as RB 3.0 says it "Improved display for patch errors." in release notes. But I still cannot see anything useful.

What operating system are you using? What browser?

Linux, Firefox 57

Please provide any additional information below.

There was an error displaying this diff.

The file 'AUTHORS' (rUNKNOWN) could not be found in the repository

This may be a bug in the software, a temporary outage, or an issue
with the format of your diff.

Please try again, and if you still have trouble,
contact support.

Details

Traceback (most recent call last):
File "/home/andre/git/reviewboard/reviewboard/diffviewer/views.py", line 330, in get
response = renderer.render_to_response(request)
File "/home/andre/git/reviewboard/reviewboard/diffviewer/renderers.py", line 58, in render_to_response
return HttpResponse(self.render_to_string(request))
File "/home/andre/git/reviewboard/reviewboard/diffviewer/renderers.py", line 76, in render_to_string
large_data=True)
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 298, in cache_memoize
compress_large_data))
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 252, in cache_memoize_iter
items = items_or_callable()
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 295, in <lambda>
lambda: [lookup_callable()],
File "/home/andre/git/reviewboard/reviewboard/diffviewer/renderers.py", line 75, in <lambda>
lambda: self.render_to_string_uncached(request),
File "/home/andre/git/reviewboard/reviewboard/diffviewer/renderers.py", line 89, in render_to_string_uncached
request=request)
File "/home/andre/git/reviewboard/reviewboard/diffviewer/diffutils.py", line 698, in populate_diff_chunks
chunks = list(generator.get_chunks())
File "/home/andre/git/reviewboard/reviewboard/diffviewer/chunk_generator.py", line 786, in get_chunks
for chunk in super(DiffChunkGenerator, self).get_chunks(cache_key):
File "/home/andre/git/reviewboard/reviewboard/diffviewer/chunk_generator.py", line 107, in get_chunks
large_data=True)
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 298, in cache_memoize
compress_large_data))
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 252, in cache_memoize_iter
items = items_or_callable()
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 295, in <lambda>
lambda: [lookup_callable()],
File "/home/andre/git/reviewboard/reviewboard/diffviewer/chunk_generator.py", line 106, in <lambda>
lambda: list(self.get_chunks_uncached()),
File "/home/andre/git/reviewboard/reviewboard/diffviewer/chunk_generator.py", line 792, in get_chunks_uncached
self.encoding_list)
File "/home/andre/git/reviewboard/reviewboard/diffviewer/diffutils.py", line 227, in get_original_file
request=request)
File "/home/andre/git/reviewboard/reviewboard/scmtools/models.py", line 404, in get_file
large_data=True)[0]
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 298, in cache_memoize
compress_large_data))
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 252, in cache_memoize_iter
items = items_or_callable()
File "/home/andre/tmp/rb/lib/python2.7/site-packages/djblets/cache/backend.py", line 295, in <lambda>
lambda: [lookup_callable()],
File "/home/andre/git/reviewboard/reviewboard/scmtools/models.py", line 403, in <lambda>
request)],
File "/home/andre/git/reviewboard/reviewboard/scmtools/models.py", line 597, in _get_file_uncached
base_commit_id=base_commit_id)
File "/home/andre/git/reviewboard/reviewboard/scmtools/hg.py", line 51, in get_file
base_commit_id=base_commit_id)
File "/home/andre/git/reviewboard/reviewboard/scmtools/hg.py", line 465, in cat_file
raise FileNotFoundError(path, rev)
FileNotFoundError: The file 'AUTHORS' (rUNKNOWN) could not be found in the repository