574: After updating patch, viewing diff results in error message

gow****@gmai***** (Google Code) (Is this you? Claim this profile.)
Aug. 11, 2008
What's the URL of the page containing the problem?

http://reviews.review-board.org/r/493/diff/#index_header

What steps will reproduce the problem?
1. I created the above review
2. The updated the patch (added another missing file to Makefile.am)
3. Select View Diff


This resulted in the following error:

The file './htdocs/Makefile.am' (r1431) could not be found in the 
repository: PROPFIND request failed on '/svn/!
svn/bc/1431/htdocs/Makefile.am' '/svn/!svn/bc/1431/htdocs/Makefile.am' 
path not found

Traceback (most recent call last):
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/views.py", line 82, in view_diff
    files = get_diff_files(diffset, None, interdiffset, highlighting)
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/diffutils.py", line 594, in get_diff_files
    enable_syntax_highlighting)
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/diffutils.py", line 513, in generate_files
    lambda: get_chunks(filediff.diffset,
  File "/var/www/reviews.review-
board.org/reviewboard/djblets/util/misc.py", line 47, in cache_memoize
    data = lookup_callable()
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/diffutils.py", line 516, in <lambda>
    enable_syntax_highlighting))
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/diffutils.py", line 316, in get_chunks
    old = get_original_file(filediff)
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/diffutils.py", line 223, in 
get_original_file
    data = cache_memoize(key, lambda: [tool.get_file(file, revision)])[0]
  File "/var/www/reviews.review-
board.org/reviewboard/djblets/util/misc.py", line 47, in cache_memoize
    data = lookup_callable()
  File "/var/www/reviews.review-
board.org/reviewboard/diffviewer/diffutils.py", line 223, in <lambda>
    data = cache_memoize(key, lambda: [tool.get_file(file, revision)])[0]
  File "/var/www/reviews.review-board.org/reviewboard/scmtools/svn.py", 
line 106, in get_file
    raise FileNotFoundError(path, revision, str(e))
FileNotFoundError: The file './htdocs/Makefile.am' (r1431) could not be 
found in the repository: PROPFIND request failed on '/svn/!
svn/bc/1431/htdocs/Makefile.am'
'/svn/!svn/bc/1431/htdocs/Makefile.am' path not found
#1 gow****@gmai***** (Google Code) (Is this you? Claim this profile.)
One additional detail, which may be relevant, I set the "base path" for the diff 
to "." 
chipx86
#2 chipx86
That would be why. You need to use an absolute path. In your case, /trunk/reviewboard
  • +UserError
#3 gow****@gmai***** (Google Code) (Is this you? Claim this profile.)
Shouldn't that error be caught when you try to update the patch?  

As it stands doing this results in the review request being unusable and the end user
would have to create a new review.

See http://reviews.review-board.org/r/493/diff/#index_header