Re: Mercurial, reviewboard and post-review rb tool
You can ignore that API code. That's not where the problem is coming from. Are those revisions that you referenced available in the repository that Review Board has been configured to talk to? What it's saying is that it's not finding those revisions there. Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Fri, Jun 29, 2012 at 2:59 AM, Mantas D. xepe...@gmail.com wrote: Hello, I have installed and configured reviewboard 1.6.9 stable on Ubuntu 12.04 LTS, installed RBtools 0.41 Idea is that it is too late in my project to introduce pre-review requests so instead my intentions are to collect post-review requests (for show and tell and analysis) of all changesets that have more then one parent, in other words changesets that are result of a feature branch merged into default, or two remote repository default head merge. So I tried using post-review --revision-range revFrom:revTo and here is what happens: First of all I have found several revision ranges that are successefully posted onto review board, but most of them fail. Here is post-review debug log: projectci@projectci:/home/reviewboard/projectm$ sudo post-review --revision-range=26652:26651 --debug RBTools 0.4.1 Home = /home/projectci DEBUG:root:Running: hg showconfig DEBUG:root:Running: hg root DEBUG:root:Running: hg svn info DEBUG:root:Command exited with rc 255: ['hg', 'svn', 'info'] hg: unknown command 'svn' Mercurial Distributed SCM basic commands: add add the specified files on the next commit annotateshow changeset information by line for each file clone make a copy of an existing repository commit commit the specified files or all outstanding changes diffdiff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit initcreate a new repository in the given directory log show revision history of entire repository or files merge merge working directory with another revision phase set or show the current phase name pullpull changes from the specified source pushpush changes to the specified destination remove remove the specified files on the next commit serve start stand-alone webserver status show changed files in the working directory summary summarize working directory state update update working directory (or switch revisions) use hg help for the full list of commands or hg -v for details --- DEBUG:root:Using candidate path 'default': ' https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/' DEBUG:root:repository info: Path: https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/, Base path: , Supports changesets: False HTTP GETting api/ HTTP GETting http://localhost/api/info/ Using the new web API DEBUG:root:Running: hg diff -r 26652 -r 26651 Attempting to create review request on https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/ for None HTTP POSTing to http://localhost/api/review-requests/: {'repository': 'https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/'} Review request created Uploading diff, size: 29809661 HTTP POSTing to http://localhost/api/review-requests/109/diffs/: {} Got API Error 207 (HTTP code 400): The file was not found in the repository Error data: {u'stat': u'fail', u'file': u'.hgignore', u'err': {u'msg': u'The file was not found in the repository', u'code': 207}, u'revision': u'd31d6b6 26628'} Error uploading diff Your review request still exists, but the diff is not attached. hg diff -r 26652 -r 26651 diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -1,39 +1,44 @@ -syntax: re -/target$ -/lib$ -/bin$ -.settings -.classpath -.metadata -.project -.iml -.ipr -.iws -.idea -.~lock. -.*~ ... ~400k lines etc... It fails on .hgignore, says it's missing... I am not very comfortable with ruby to try and debug whole situation but I found this piece of code in resource.py of reviewboard that throws 207 exception: def _get_patch(self, request, *args, **kwargs): try: review_request = \ review_request_resource.get_object(request, *args, **kwargs) diffset = self.get_object(request, *args, **kwargs) except ObjectDoesNotExist: return DOES_NOT_EXIST ... I am confused, a bit what is wrong, or is my understanding of post-review faulty. As I said, I need to log post-review requests only for certain changesets that were commited/pushed sometime ago, which will only be reviewed commented and that is it. -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/
Re: Mercurial, reviewboard and post-review rb tool
Another question would be why does it need to communicate with remote repository when post-review has gathered all of the diff data already ? In any case those revision are available in referenced repo, nothing new has been commited. Repo was cloned, updated to default tip, and then I tried runing post-review. As I mentioned I had succeeded with some revisions, but mostly failed. Might this be the case of non conventional HG usage, where developers cut-paste instead of hg move sources around ? On Friday, 29 June 2012 13:25:27 UTC+3, Christian Hammond wrote: You can ignore that API code. That's not where the problem is coming from. Are those revisions that you referenced available in the repository that Review Board has been configured to talk to? What it's saying is that it's not finding those revisions there. Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Fri, Jun 29, 2012 at 2:59 AM, Mantas D. xepe...@gmail.com wrote: Hello, I have installed and configured reviewboard 1.6.9 stable on Ubuntu 12.04 LTS, installed RBtools 0.41 Idea is that it is too late in my project to introduce pre-review requests so instead my intentions are to collect post-review requests (for show and tell and analysis) of all changesets that have more then one parent, in other words changesets that are result of a feature branch merged into default, or two remote repository default head merge. So I tried using post-review --revision-range revFrom:revTo and here is what happens: First of all I have found several revision ranges that are successefully posted onto review board, but most of them fail. Here is post-review debug log: projectci@projectci:/home/reviewboard/projectm$ sudo post-review --revision-range=26652:26651 --debug RBTools 0.4.1 Home = /home/projectci DEBUG:root:Running: hg showconfig DEBUG:root:Running: hg root DEBUG:root:Running: hg svn info DEBUG:root:Command exited with rc 255: ['hg', 'svn', 'info'] hg: unknown command 'svn' Mercurial Distributed SCM basic commands: add add the specified files on the next commit annotateshow changeset information by line for each file clone make a copy of an existing repository commit commit the specified files or all outstanding changes diffdiff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit initcreate a new repository in the given directory log show revision history of entire repository or files merge merge working directory with another revision phase set or show the current phase name pullpull changes from the specified source pushpush changes to the specified destination remove remove the specified files on the next commit serve start stand-alone webserver status show changed files in the working directory summary summarize working directory state update update working directory (or switch revisions) use hg help for the full list of commands or hg -v for details --- DEBUG:root:Using candidate path 'default': ' https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/' DEBUG:root:repository info: Path: https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/, Base path: , Supports changesets: False HTTP GETting api/ HTTP GETting http://localhost/api/info/ Using the new web API DEBUG:root:Running: hg diff -r 26652 -r 26651 Attempting to create review request on https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/ for None HTTP POSTing to http://localhost/api/review-requests/: {'repository': ' https://projectm_bu...@mercurial01.mycompany.com/hg/projectm/'} Review request created Uploading diff, size: 29809661 HTTP POSTing to http://localhost/api/review-requests/109/diffs/: {} Got API Error 207 (HTTP code 400): The file was not found in the repository Error data: {u'stat': u'fail', u'file': u'.hgignore', u'err': {u'msg': u'The file was not found in the repository', u'code': 207}, u'revision': u'd31d6b6 26628'} Error uploading diff Your review request still exists, but the diff is not attached. hg diff -r 26652 -r 26651 diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -1,39 +1,44 @@ -syntax: re -/target$ -/lib$ -/bin$ -.settings -.classpath -.metadata -.project -.iml -.ipr -.iws -.idea -.~lock. -.*~ ... ~400k lines etc... It fails on .hgignore, says it's missing... I am not very comfortable with ruby to try and debug whole situation but I found this piece of code in resource.py of reviewboard that throws 207 exception: def _get_patch(self, request, *args, **kwargs): try: