4374: Support SVN 1.9.x 'nonexistent' for new files when relocation info is present.
- Fixed
- Review Board
ryank-inovonics | |
4392, 4421 |
What version are you running?
ReviewBoard v2.5.3, SVN 1.9.3
What's the URL of the page containing the problem?
/reviewboard/r/new/
What steps will reproduce the problem?
- Create a branch of an existing folder: svn copy integration/ bug-branch/
- Add (and commit) a file to the branch: svn add bug-branch/new-file.txt
- Diff the two branches: svn diff integration/ bug-branch/
- Upload the diff as a new revision.
What is the expected output? What do you see instead?
A new review is created with a diff showing a new file was created. Instead get an error that the diff file could not be parsed near '(.../integration) (nonexistent)'
What operating system are you using? What browser?
Ubuntu 12.04 LTS / Google Chrome (latest).
Please provide any additional information below.
Found in https://reviews.reviewboard.org/r/7617 that the new 'nonexistent' terminology used by SVN 1.9.x was supported, but we were still seeing errors refering to it. Found it only occurs when feeding diffs of branches with new files, such as this diff fragment:
Index: ChangeLog.txt
--- ChangeLog.txt (.../integration) (nonexistent)
+++ ChangeLog.txt (.../bug-branch) (revision 11779)
@@ -0,0 +1,7 @@
...A quick look at
reviewboard/scmtools/svn/__init__.py
found that the nonexistent regexp did not support this "relocation information" like the general revision regexp did. A quick patch (attached) appears to fix the problem but only did trivial testing. Hopefully this is enough info for a developer to take and fix this corner case. Thanks!
Looks like I need to generate a git diff to post the patch, what I have is just a file diff from our installed instance. Will see if I can get the git diff generated and uploaded this weekend.