Romulo A. Ceccon wrote: > On Dec 7, 2007 11:19 PM, Raman Gupta <[EMAIL PROTECTED]> wrote: >> It would be really helpful if you could create a test in >> svnmerge_test.py. That would make it easier for people to test this >> cross-platform. > > Ok. The patch is attached. > > Note that I had to change TestCase_SvnMerge.svnmerge to use a > different StringIO object, since it replaces sys.stdout with a version > which doesn't provide the "encoding" property. That property is > required by svnmerge.py in my proposed patch.
Awesome, thanks for the test case! Note that the patch causes 13 tests to fail on my machine. I believe the reason is that svnmerge.py currently sets os.environ["LC_ALL"] = "C" and that, at least on my machine, causes locale.getdefaultlocale()[1] to return None, which then causes the call to encode to fail: Python 2.5.1 (r251:54863, Oct 30 2007, 13:45:26) [GCC 4.1.2 20070925 (Red Hat 4.1.2-33)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os, locale >>> locale.getdefaultlocale()[1] 'UTF8' >>> locale.setlocale(locale.LC_ALL, '') 'en_US.UTF-8' >>> locale.getdefaultlocale()[1] 'UTF8' >>> locale.setlocale(locale.LC_ALL, 'C') 'C' >>> locale.getdefaultlocale()[1] 'UTF8' >>> os.environ["LC_ALL"] = "C" >>> locale.getdefaultlocale()[1] >>> So it seems to be specifically the os.environ setting (added in rev 23305) that is causing problems on my machine, whereas the "equivalent" python call to setlocale 'C' is ok. I think os.environ is needed for svn though, so... anybody out there that understands what is going on? Cheers, Raman Gupta _______________________________________________ Svnmerge mailing list [email protected] http://www.orcaware.com/mailman/listinfo/svnmerge
