888: LANGUAGE setting can confuse post-review due to assumption of English output from svn.

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.
chipx86
#1 chipx86
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
#2 ted.d******@gmai***** (Google Code) (Is this you? Claim this profile.)
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

chipx86
#4 chipx86
Should be fixed in alpha 4 (just released it). Let me know if you still have trouble.
  • -NeedInfo
    +Fixed