[Svnmerge] KeyError on svnmerge.py

Raman Gupta rocketraman at fastmail.fm
Sat Mar 8 07:10:19 PST 2008


Giovanni Bajo wrote:
> which removes the LC_ALL=C from the environment. This is needed to force
> SVN to produce non localized strings, as explained by the comment. Why
> has it been removed?

Ok, so it *was* the removal of the LC_ALL=C that caused this -- I
suspected as much when I asked Hernan to test with rev 29665 yesterday.

The reason it was removed was discussed on the mailing list. I also
asked explicitly on the list about the ramifications related to
removing LC_ALL=C, and no one replied.

Regardless, since it is now clear what the purpose of the setting was,
my suggestion would be to add the LC_ALL=C prefix explicitly to calls
that require the svn output to be parseable by svnmerge.py, which
leaves calls to svn log and the output of svn merge using the
appropriate user locale. I think this could be done with a new
parameter on the call to launchsvn called "localized" which would
default to true.

In UNIX, one is able to set a per-command environment variable by
prefixing the command with the environment setting e.g. specifying
"LC_ALL=C svn ...". Will that work on Windows also? If not, we could
set os.environ temporarily but in that case I suppose we need to
ensure that launchsvn is not called simultaneously by multiple threads.

Thoughts?

Cheers,
Raman Gupta




More information about the Svnmerge mailing list