> What version are you running?
1.5.4
> What's the URL of the page containing the problem?
/r/<id>/diff/
> What steps will reproduce the problem?
1. Put console.py into a sub directory. (eg. /repo/review/)
2. Upload console.patch for review.
3. Try to view the patch.
> What is the expected output? What do you see instead?
Instead of difference, a Python traceback is shown:
Traceback (most recent call last):
...
File "/usr/lib/python2.7/site-packages/ReviewBoard-1.5.4-py2.7.egg/reviewboard/diffviewer/diffutils.py", line 378, in get_patched_file
return patch(filediff.diff, buffer, filediff.dest_file)
(Full traceback attached.)
patch() method executes this command, imho this is wrong:
patch -o /tmp/reviewboard.Tvwttz/tmpP37ele-new /tmp/reviewboard.Tvwttz/tmpP37ele < /tmp/reviewboard.Tvwttz/console.py.diff
patch command fails:
"invalid output file name: /tmp/reviewboard.Tvwttz/tmpP37ele"
Changing working directory and running patch works fine:
cd /tmp/reviewboard.Tvwttz/
patch -o tmpP37ele-new tmpP37ele < console.py.diff
IMHO, an os.chdir() will fix this.