Re: Mercurial, reviewboard and post-review rb tool

2012-06-29 Thread Christian Hammond
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

2012-06-29 Thread Mantas D.
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: