Support extra revision string for svn diff
Review Request #3749 — Created Jan. 17, 2013 and submitted — Latest diff uploaded
Parsing revision number in Subversion is only supported in English environment. $ svn diff # LANG=C Index: dir1/test1.txt =================================================================== --- dir1/test1.txt (revision 3) +++ dir1/test1.txt (working copy) For example, these diff header is localized in Japanese environment as follows. $ svn diff # LANG=ja_JP.UTF-8 Index: dir1/test1.txt =================================== --- dir1/test1.txt (????? 3) +++ dir1/test1.txt (?????) SVNTool.parse_diff_revision() function cannot parse such as localized revision number, because its regular expression doesn't match. I added an additional "revision_str" item in Advanced Settings for Repository so that it can be passed for the regular expression. Could you review it? I welcome any comments from you!
$ ./reviewboard/manage.py test -- reviewboard.scmtools.tests:SubversionTests Creating test database for alias 'default'... Testing parsing SVN diff with binary file ... ok Testing SVNTool.get_file ... ok Testing basic SVNTool API ... ok Testing parsing SVN diff with keywords ... ok Testing revision number parsing ... ok Testing a SSH-backed Subversion repository ... SKIP: Cannot perform SSH access tests. The local user's SSH public key must be in the /Users/t2y/.ssh/authorized_keys file and SSH must be enabled. Testing a SSH-backed Subversion repository with a LocalSite ... SKIP: Cannot perform SSH access tests. The local user's SSH public key must be in the /Users/t2y/.ssh/authorized_keys file and SSH must be enabled. Testing parsing SVN 1.6 diff with property changes ... ok Testing parsing SVN 1.7+ diff with property changes ... ok Testing parsing SVN diff with unterminated keywords ... ok ---------------------------------------------------------------------- Ran 10 tests in 3.082s OK (SKIP=2) Destroying test database for alias 'default'...