888: LANGUAGE setting can confuse post-review due to assumption of English output from svn.
- Fixed
- Review Board
ted.d******@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Feb. 16, 2009 |
What steps will reproduce the problem? 1. export LANGUAGE=zh_CN:zh 2. export LC_ALL=zh_CN.utf-8 3. run svn info to observe messages in chinese 4. run post-review 5. svn output not parsed correctly due to localization of svn. What is the expected output? What do you see instead? Expect to see normal function. Instead see a stack trace that indicates that post-review is unable to determine the SCM settings. What operating system are you using? What browser? Chinese capable cygwin installation or linux. Please provide any additional information below. I think that it should be possible to have post-review set the correct locale variables to en_US internally so that it gets the right output from svn info. Note that it can be kind of difficult to get a non-chinese machine to produce the problematic messages from svn. Don't mark this as NOTABUG unless you succeed at getting non-English messages out of svn. Changing LANG and LC_ALL on a chinese machine sufficed to make the messages change and the problem go away, however, so I am pretty sure that this is the problem.
Huh, we thought we had fixed this. If you have LC_ALL set to en_US.UTF-8, but LANGUAGE set to zh_CN:zh, what happens? Does it work or still fail?
-
+ NeedInfo -
+ Component-Scripts
on Ubuntu 7.10: $ locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_CTYPE="zh_CN.utf8" LC_NUMERIC="zh_CN.utf8" LC_TIME="zh_CN.utf8" LC_COLLATE="zh_CN.utf8" LC_MONETARY="zh_CN.utf8" LC_MESSAGES="zh_CN.utf8" LC_PAPER="zh_CN.utf8" LC_NAME="zh_CN.utf8" LC_ADDRESS="zh_CN.utf8" LC_TELEPHONE="zh_CN.utf8" LC_MEASUREMENT="zh_CN.utf8" LC_IDENTIFICATION="zh_CN.utf8" LC_ALL=zh_CN.utf8 $ ~/post-review -d >>> svn info >>> cleartool pwv -short Traceback (most recent call last): File "/home/mud/post-review", line 2307, in <module> main(sys.argv[1:]) File "/home/mud/post-review", line 2248, in main repository_info, tool = determine_client() File "/home/mud/post-review", line 2200, in determine_client repository_info = tool.get_repository_info() File "/home/mud/post-review", line 728, in get_repository_info env={'LANG': 'en_US.UTF-8'}) File "/home/mud/post-review", line 1901, in execute env=env) File "/usr/lib/python2.5/subprocess.py", line 594, in __init__ errread, errwrite) File "/usr/lib/python2.5/subprocess.py", line 1147, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory it will work well after this change: $ export LANGUAGE=en_US.utf8