3207: Creating a new review request for commited change fails for first commit
- Fixed
- Review Board
anseli*******@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Jan. 28, 2014 |
What version are you running? 2.0 beta 3 What's the URL of the page containing the problem? /r/new/ What steps will reproduce the problem? 1. Create a new review request under "New Review Request for Committed Change". 2. Select the very first commit in a linked GitHub repository. What is the expected output? What do you see instead? A new review request should be created. Instead, a SCMError is raised, the webpage hangs, and an empty draft review request is created in the background. What operating system are you using? What browser? Ubuntu 12.04 LTS Chrome 31.0 Please provide any additional information below.
Of course - here it is: [24/Jan/2014 02:37:14] "GET /api/repositories/1/branches/?api_format=json HTTP/1.1" 200 119 [24/Jan/2014 02:37:14] "GET /api/repositories/1/commits/?start=6ffd5ae34f2b790afec4b082f2b64255bdfa4fb2&api_format=json HTTP/1.1" 200 182 2014-01-24 02:37:26,568 - ERROR - None - anselina - /api/review-requests/ - Got unexpected SCMError when creating repository: Not Found Traceback (most recent call last): File "/home/anselina/src/reviewboard/reviewboard/webapi/resources/review_request.py", line 519, in create user, repository, commit_id, local_site) File "/home/anselina/src/reviewboard/reviewboard/reviews/managers.py", line 132, in create review_request.update_from_commit_id(commit_id) File "/home/anselina/src/reviewboard/reviewboard/reviews/models/base_review_request_details.py", line 182, in update_from_commit_id self.update_from_committed_change(commit_id) File "/home/anselina/src/reviewboard/reviewboard/reviews/models/base_review_request_details.py", line 230, in update_from_committed_change commit = self.repository.get_change(commit_id) File "/home/anselina/src/reviewboard/reviewboard/scmtools/models.py", line 296, in get_change return hosting_service.get_change(self, revision) File "/home/anselina/src/reviewboard/reviewboard/hostingsvcs/github.py", line 409, in get_change raise SCMError(six.text_type(e)) SCMError: Not Found [24/Jan/2014 02:37:26] "POST /api/review-requests/ HTTP/1.1" 500 118
I'll also fix this! The problem is that the first commit has no parents, so it fails when it tries to fetch the "compare two commits" API (in reviewboard/hostingsvcs/github.py's get_change) since "parent_revision" is empty.