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