2692: Reviewboard does not support git diffs from mercurial for files with spaces in their paths

gco****@gmai***** (Google Code) (Is this you? Claim this profile.)
Dec. 26, 2012
What version are you running?
PostReview 6.1 & Latest Git

What's the URL of the page containing the problem?

What steps will reproduce the problem?
1. Create an hg repository and register it in postreview
2. Make a local clone of the repository
3. Create a folder with a space in it, e.g. 'Test Data'
4. Add a file to the folder and commit it.
5. Push to the remote repository
6. Make a change in the the file and commit it
7. Using the mercurial reviewboard extension, submit a git diff to reviewboard.  e.g. `hg postreview --git`

What is the expected output? What do you see instead?
I'd expect the hg postreview command to complete succesfully, and the diff of my review to be viewable on postreview.

What actually happens is the hg postreview command exits with an HTTP 400 error.  The review is created on reviewboard, but the diff is not succesfully uploaded.

What operating system are you using? What browser?
I've recreated this on windows & mac.

Please provide any additional information below.
I've actually done a bit of investigation into this problem, and it seems to be down to the spaces in the path to the file messing with the parsing of the git diff headers.

I've put together a fix for this issue, and will submit to reviews.reviewboard.org shortly
#1 david
  • +Component-SCMTools
#2 gco****@gmai***** (Google Code) (Is this you? Claim this profile.)
Didn't say at the time, but this bug should have been fixed as part of commit fe7fa3a.
#3 david
  • +Fixed