2007: error uploading diff with post-review 0.3.2 (path resolution fail)
- WontFix
- Review Board
latc****@gmai***** (Google Code) (Is this you? Claim this profile.) | |
March 22, 2011 |
I create a diff with the following command so that I can see the changes in our sql scripts between iterations: svn diff http://svn/marin/branches/iteration-0009/mscm/sql/changes http://svn/marin/branches/iteration-0010/mscm/sql/changes > sql.diff I then post-review that diff: post-review -d --diff-filename=sql.diff >>> RBTools 0.3.2 >>> Home = /Users/jon >>> svn info >>> diff --version >>> repository info: Path: http://svn/marin, Base path: /branches/iteration-0009, Supports changesets: False >>> svn propget reviewboard:url /Users/jon/checkout/branches/iteration-0009 >>> HTTP GETting api/ >>> HTTP GETting http://rb/api/info/ >>> Using the new web API >>> HTTP GETting http://rb/api/repositories/ >>> HTTP GETting http://rb/api/repositories/1/ >>> HTTP GETting http://rb/api/repositories/1/info/ >>> repository info: Path: http://svn/marin, Base path: /branches/iteration-0009, Supports changesets: False >>> Attempting to create review request on http://svn/marin for None >>> HTTP POSTing to http://rb/api/review-requests/: {'repository': u'http://svn/marin'} >>> Review request created >>> Uploading diff, size: 14301 >>> HTTP POSTing to http://rb/api/review-requests/11742/diffs/: {'basedir': '/branches/iteration-0009'} >>> Got API Error 207 (HTTP code 400): The file was not found in the repository >>> Error data: {u'stat': u'fail', u'file': u'/branches/iteration-0009/iteration-0009/mscm/sql/changes/MARIN_COMMON/6595', u'err': {u'msg': u'The file was not found in the repository', u'code': 207}, u'revision': u'40575'} As you can see, iteration-0009 gets included twice in the path for some reason. Not sure how to work around this one. Ideas?
post-review finds the directory within the SVN server that represents the current directory it's being run from. In this case, that's /branches/iteration-0009. The diffs are including the iteration-0009 part as well. So you need to either have the diffs not contain that, or you need to run this from /branches.
-
- Type-Defect + Type-Support
This used to work with post-review 0.2 and older versions of rb. The header for the diff of a file looks like this: Index: MARIN/201102281519-create-last-forecast-settings =================================================================== --- MARIN/201102281519-create-last-forecast-settings (.../iteration-0009/mscm/sql/changes) (revision 0) +++ MARIN/201102281519-create-last-forecast-settings (.../iteration-0010/mscm/sql/changes) (revision 40584) When I run svn diff and post-review, I do it from within the iteration-XXX directory since that is all I have checked out of svn and where the reviewboard:url property is set. It wouldn't make sense for me to checkout ALL of /branches from svn since I don't need all of our branches... Ideally, post-review would look at the diff and use the current working directory + path/to/file/in/diff (MARIN/201102281519-create-last-forecast-settings ) to create the svn path. I was able to upload the diff using the webui by just setting the path to /branches, but it seems like there should be a way to do this from the CLI too without having to checkout all of /branches to upload the diff.
I don't think we need to add yet another special argument to post-review for this. I'd suggest either use post-review to post your in-progress changes, or with a revision range, or use the web UI to submit the diffs, but wanting to use post review inside an svn repository with a diff file is a pretty unusual use case.
-
+ WontFix