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