I am evaluating ReviewBoard and considering it for purchase.  To do so, I 
ran a brand-new instance of the Demo Virtual Machine (running ReviewBoard 
2.5.10) posted 
at https://bitnami.com/stack/reviewboard-plus-powerpack/virtual-machine. 
 The only thing I did after starting up this VM is to install Mercurial 
(apt-get install mercurial) and add a locally-stored clone of the 
repository there and add the repository via the Admin page.

When I attempt to create a Review Request, and specify one of the 
changesets that appears on the web page (under "Create from an existing 
commit on: default"), the resulting Review Request does not have anything 
auto-filled into the description from the changeset.

I found the following in the reviewboard.log file:

2017-07-13 12:29:32,300 - ERROR -  - Unable to update new review request 
from commit ID 7e3d96823f78e36f65d49ff9243d91cedc4ec8f8: The file '/foo.py' 
(r7b4e8afe08b4) could not be found in the repository: 
7b4e8afe08b4886a21cb637ff2be6629bc82a4c7
Traceback (most recent call last):
  File 
"/opt/bitnami/apps/reviewboardpowerpack/htdocs/reviewboard/reviews/managers.py",
 
line 157, in create
    draft.update_from_commit_id(commit_id)
  File 
"/opt/bitnami/apps/reviewboardpowerpack/htdocs/reviewboard/reviews/models/review_request_draft.py",
 
line 278, in update_from_commit_id
    self.update_from_committed_change(commit_id)
  File 
"/opt/bitnami/apps/reviewboardpowerpack/htdocs/reviewboard/reviews/models/review_request_draft.py",
 
line 352, in update_from_committed_change
    base_commit_id=commit.parent)
  File 
"/opt/bitnami/apps/reviewboardpowerpack/htdocs/reviewboard/diffviewer/managers.py",
 
line 457, in create_from_data
    check_existence=(not parent_diff_file_contents)))
  File 
"/opt/bitnami/apps/reviewboardpowerpack/htdocs/reviewboard/diffviewer/managers.py",
 
line 604, in _process_files
    base_commit_id)
FileNotFoundError: The file '/foo.py' (r7b4e8afe08b4) could not be found in 
the repository: 7b4e8afe08b4886a21cb637ff2be6629bc82a4c7

I debugged it, and found that repository.get_file_exists returns False, due 
to a failure in the construction of the mercurial command line. 
 Specifically, diffviewer/managers.py at line 630 takes the file name 
listed in the changeset (e.g. 'foo.py'), and calls self._normalize_filename 
with a 'basedir' value of '/' (a hard-coded value set by an earlier routine 
on the call stack), resulting in the filename '/foo.py'.

This results in the command being invoked as: hg cat --rev <number> /foo.py

If you type this command manually at a prompt, Mercurial (correctly) 
returns the message "abort: /foo.py not under root <repo>".

This error message is correct because there should NOT be a leading slash 
at the front of a file name (at least not when using Mercurial).

This ReviewBoard bug renders support in a local Mercurial repository to be 
non-functional.

Has this problem been fixed in a later version?  If so, can the 
demonstration Virtual Machine be updated to the later version that contains 
this fix?

If not yet fixed, can this problem be fixed, so that I might consider 
buying this product?

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to